Image decoding device, image decoding method, and image encoding device

ABSTRACT

To achieve a reduction in the amount of coding taken in the use of an asymmetric partition and to implement efficient encoding/decoding processes exploiting the characteristics of the asymmetric partition. In a case that a CU information decoding unit decodes information for specifying an asymmetric partition (AMP; Asymmetric Motion Partition) as a partition type, an arithmetic decoding unit is configured to decode binary values by switching between arithmetic decoding that uses contexts and arithmetic decoding that does not use contexts in accordance with the position of the binary values.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a Continuation of copending application Ser. No.14/348,499, filed on Mar. 28, 2014, which is the National Phase under 35U.S.C. § 371 of International Application No. PCT/JP2012/075191, filedon Sep. 28, 2012, which claims the benefit under 35 U.S.C. § 119(a) toPatent Application No. 2011-215475, filed in Japan on Sep. 29, 2011, allof which are hereby expressly incorporated by reference into the presentapplication.

TECHNICAL FIELD

The present invention relates to an image decoding device and an imagemethod for decoding encoded data representing an image, and an imageencoding device for encoding an image to generate encoded data.

BACKGROUND ART

Video encoding devices for encoding moving images to generate encodeddata, and video decoding devices for decoding the encoded data togenerate decoded images are used for efficient transmission or recordingof moving images.

Specifically, video coding standards are available, such asH.264/MPEG-4.AVC, the standard implemented in KTA software, which is acodec for joint development in VCEG (Video Coding Expert Group), thestandard implemented in TMuC (Test Model under Consideration) software,and the standard proposed in HEVC (High-Efficiency Video Coding), whichis a codec successor to H.264/MPEG-4.AVC (NPLs 1).

In such video coding standards, images (pictures) forming a moving imageare managed using a hierarchical structure that is composed of slicesobtained by partitioning each image, coding units obtained by splittingeach slice, and blocks and partitions obtained by splitting each codingunit. The images (pictures) are generally encoded/decoded on ablock-by-block basis.

In such video coding standards, generally, a prediction image isgenerated based on a locally decoded image obtained by encoding/decodingan input image, and the prediction image is subtracted from the inputimage (original image) to obtain a prediction residual (also referred toas a “differential image” or a “residual image”) which is then encoded.Methods of generating prediction images include inter-frame prediction(inter prediction) and intra-frame prediction (intra prediction).

In intra prediction, a prediction image in a frame is sequentiallygenerated based on a locally decoded image in this frame.

In inter prediction, on the other hand, a prediction image in a frame tobe predicted is generated in units of prediction units (for example,blocks) by applying motion compensation using motion vectors to areference image in a reference frame (decoded image) the entirety ofwhich has been decoded.

As for inter prediction, a technique of splitting a coding unit, whichis the unit of a coding process, into asymmetric partitions (PUs) whenusing inter prediction was adopted (AMP; Asymmetric Motion Partition,NPLs 2 and 3) at the sixth meeting of the JCT-VC, which was recentlyheld (Torino, IT, 14-22 Jul. 2011).

It has also been proposed that non-square quadtree transform (NSQT) beused if the type of partition is an asymmetric partition (NPL 2).

CITATION LIST Non Patent Literature

-   NPL 1: “WD4: Working Draft 4 of High-Efficiency Video Coding    (JCTVC-F803_d1)”, Joint Collaborative Team on Video Coding (JCT-VC)    of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting: Torino,    IT, 14-22 Jul. 2011 (published on Sep. 8, 2011)-   NPL 2: “CE2: Non-Square Quadtree Transform for symmetric and    asymmetric motion partition (JCTVC-F412)”, Joint Collaborative Team    on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC    JTC1/SC29/WG116th Meeting: Torino, IT, 14-22 Jul. 2011 (published on    Jul. 2, 2011)-   NPL 3: “CE2: Test results of asymmetric motion partition (AMP)    (JCTVC-F379)”, Joint Collaborative Team on Video Coding (JCT-VC) of    ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG116th Meeting: Torino, 14-22    Jul. 2011 (published on Jul. 2, 2011)

SUMMARY OF INVENTION Technical Problem

In inter prediction, however, new addition of an asymmetric partition,described above, causes an increase in the amount of coding of sideinformation. There is another problem in that although a newly addedasymmetric partition has different characteristics from an existingsymmetric partition, the characteristics of the asymmetric partition arenot fully exploited in coding processes.

The present invention has been made in view of the foregoing problems,and it is an object of the present invention to provide an imagedecoding device, an image decoding method, and an image encoding devicethat may achieve a reduction in the amount of coding taken in the use ofan asymmetric partition and that may implement efficientencoding/decoding processes exploiting the characteristics of theasymmetric partition.

Solution to Problem

In order to overcome the foregoing problems, an image decoding deviceaccording to an aspect of the present invention is an image decodingdevice for decoding encoded image data for each coding unit to generatea decoded image, including a CU information decoding unit configured todecode information for specifying a partition type in which the codingunit is split; and an arithmetic decoding unit configured to decodebinary values from the encoded image data using arithmetic decoding thatuses contexts or arithmetic decoding that does not use contexts, whereinin a case that the CU information decoding unit decodes information forspecifying an asymmetric partition (AMP; Asymmetric Motion Partition) asthe partition type, the arithmetic decoding unit is configured to decodethe binary values by switching between the arithmetic decoding that usescontexts and the arithmetic decoding that does not use contexts inaccordance with a position of the binary values.

In order to overcome the foregoing problems, an image decoding deviceaccording to an aspect of the present invention is an image decodingdevice for decoding encoded image data for each coding unit to generatea decoded image, including a CU information decoding unit configured todecode information for specifying a partition type in which the codingunit is split; and an arithmetic decoding unit configured to decodebinary values from the encoded image data using arithmetic decoding thatuses contexts or arithmetic decoding that does not use contexts, whereinin a case that the CU information decoding unit decodes information forspecifying a type of rectangular partition as the partition type, thearithmetic decoding unit is configured to decode the binary values byswitching between the arithmetic decoding that uses contexts and thearithmetic decoding that does not use contexts in accordance with aposition of the binary values.

In order to overcome the foregoing problems, an image decoding methodaccording to an aspect of the present invention is an image decodingmethod for decoding encoded image data for each coding unit to generatea decoded image, including the steps of decoding information forspecifying a partition type in which the coding unit is split; anddecoding binary values from the encoded image data using arithmeticdecoding that uses contexts or arithmetic decoding that does not usecontexts, wherein in a case that information for specifying anasymmetric partition (AMP; Asymmetric Motion Partition) as the partitiontype is to be decoded, the binary values are decoded by switchingbetween the arithmetic decoding that uses contexts and the arithmeticdecoding that does not use contexts in accordance with a position of thebinary values.

In order to overcome the foregoing problems, an image encoding deviceaccording to an aspect of the present invention is an image encodingdevice for encoding information for restoring an image for each codingunit to generate encoded image data, including an encoding setting unitconfigured to encode information for specifying a partition type inwhich the coding unit is split; and an encoded data generation unitconfigured to generate the encoded image data using an encoding processthat uses contexts or an encoding process that does not use contexts,wherein in a case that information for specifying an asymmetricpartition (AMP; Asymmetric Motion Partition) as the partition type is tobe encoded, the encoded data generation unit is configured to generatethe encoded image data by switching between the encoding process thatuses contexts and the encoding process that does not use contexts.

In order to overcome the foregoing problems, an image decoding deviceaccording to an aspect of the present invention is an image decodingdevice for decoding an image in a prediction unit using, as aninter-frame prediction scheme, a uni-prediction scheme in which onereference image is referred to or a bi-prediction scheme in which tworeference images are referred to, the image decoding device includingbi-prediction restriction means for imposing restriction ofbi-prediction on the prediction unit in a case that the prediction unitis a prediction unit having a size less than or equal to a predeterminedvalue.

Advantageous Effects of Invention

According to an aspect of the present invention, a reduction in theamount of coding taken in the use of an asymmetric partition may beachieved. In addition, efficient encoding/decoding processes exploitingthe characteristics of the asymmetric partition may be implemented.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a functional block diagram illustrating an exampleconfiguration of a CU information decoding unit and a decoding module ina video decoding device according to an embodiment of the presentinvention.

FIG. 2 is a functional block diagram illustrating a schematicconfiguration of the video decoding device.

FIG. 3 includes diagrams illustrating a data configuration of encodeddata generated by a video encoding device according to an embodiment ofthe present invention and decoded by the video decoding device, in whichparts (a) to (d) are diagrams illustrating a picture layer, a slicelayer, a tree block layer, and a CU layer, respectively.

FIG. 4 includes diagrams illustrating patterns of PU partition types.Parts (a) to (h) of FIG. 4 illustrate partition shapes in the PUpartition types of 2N×2N, 2N×N, 2N×nU, 2N×nD, N×2N, nL×2N, nR×2N andN×N, respectively.

FIG. 5 is a diagram illustrating a specific example configuration of aPU size table in which the numbers of PUs and PU sizes are defined inassociation with CU sizes and PU partition types.

FIG. 6 is a diagram illustrating a 2N×N CU and a 2N×nU CU in which anedge having an inclination is present.

FIG. 7 is a table illustrating an example of binarization informationthat defines associations between combinations of CU prediction typesand PU partition types and bin sequences.

FIG. 8 is a diagram illustrating an example of the binarizationinformation that defines a CU having an 8×8 size.

FIG. 9 is a diagram illustrating another example of the binarizationinformation that defines a CU having an 8×8 size.

FIG. 10 is a table illustrating another example of the binarizationinformation that defines associations between combinations of CUprediction types and PU partition types and bin sequences.

FIG. 11 is a table illustrating another example of the binarizationinformation that defines associations between combinations of CUprediction types and PU partition types and bin sequences.

FIG. 12 is a functional block diagram illustrating an exampleconfiguration of a PU information decoding unit and a decoding module inthe video decoding device.

FIG. 13 is a diagram illustrating a CU for which an asymmetric partitionhas been selected.

FIG. 14 is a diagram illustrating the priorities of merge candidates ofa CU for which a symmetric partition has been selected.

FIG. 15 includes diagrams illustrating the priorities of mergecandidates of a CU for which an asymmetric partition has been selected.Parts (a) and (b) of FIG. 15 illustrate CUs with the PU partition typeof 2N×nU. Part (a) of FIG. 15 illustrates the priorities of mergecandidates in the smaller partition, and part (b) of FIG. 15 illustratesthe priorities of merge candidates in the larger partition. Parts (c)and (d) of FIG. 15 illustrate CUs with the PU partition type of 2N×nD.Part (c) of FIG. 15 illustrates the priorities of merge candidates inthe larger partition, and part (d) of FIG. 15 illustrates the prioritiesof merge candidates in the smaller partition.

FIG. 16 is a functional block diagram illustrating an exampleconfiguration of a TU information decoding unit and a decoding module inthe video decoding device.

FIG. 17 is a diagram illustrating an example of transform sizedetermination information in which TU partition patterns are defined inaccordance with CU sizes, TU partition depths (trafoDepth), and PUpartition types of target PUs.

FIG. 18 includes diagrams illustrating partitioning schemes in which asquare node is partitioned into square or non-square nodes usingquadtree partitioning. Part (a) of FIG. 18 illustrates partitioning intosquare nodes, part (b) of FIG. 18 illustrates partitioning intolandscape-oriented rectangular nodes, and part (c) of FIG. 18illustrates partitioning into portrait-oriented rectangular nodes.

FIG. 19 includes diagrams illustrating partitioning schemes in which asquare node is partitioned into square or non-square nodes usingquadtree partitioning. Part (a) of FIG. 19 illustrates partitioning of alandscape-oriented node into landscape-oriented nodes, part (b) of FIG.19 illustrates partitioning of a landscape-oriented node into squarenodes, part (c) of FIG. 19 illustrates partitioning of aportrait-oriented node into portrait-oriented nodes, and part (d) ofFIG. 19 illustrates partitioning of a portrait-oriented node into squarenodes.

FIG. 20 is a diagram illustrating an example of TU partitions of a 32×32CU with the PU partition type of 2N×N.

FIG. 21 is a diagram illustrating an example of TU partitions of a 32×32CU with the PU partition type of 2N×nU.

FIG. 22 includes diagrams illustrating the flow of TU partitioning in acase that a split is performed in accordance with the transform sizedetermination information illustrated in FIG. 17. Part (a) of FIG. 22illustrates the PU partition type of 2N×2N, and part (b) of FIG. 22illustrates the PU partition type of 2N×nU.

FIG. 23 is a diagram illustrating an example of the flow of TUpartitioning in a case that a region with the PU partition type of 2N×2Nis split.

FIG. 24 is a flowchart illustrating an example of the flow of a CUdecoding process.

FIG. 25 is a functional block diagram illustrating a schematicconfiguration of a video encoding device according to an embodiment ofthe present invention.

FIG. 26 is a flowchart illustrating an example of the flow of a CUencoding process.

FIG. 27 illustrates a configuration of a transmitting apparatusincluding the video encoding device and a configuration of a receivingapparatus including the video decoding device. Part (a) of FIG. 27illustrates the transmitting apparatus including the video encodingdevice, and part (b) of FIG. 27 illustrates the receiving apparatusincluding the video decoding device.

FIG. 28 illustrates a configuration of a recording apparatus includingthe video encoding device and a configuration of a reproducing apparatusincluding the video decoding device. Part (a) of FIG. 28 illustrates therecording apparatus including the video encoding device, and part (b) ofFIG. 28 illustrates the reproducing apparatus including the videodecoding device.

FIG. 29 is a functional block diagram illustrating a detailed exampleconfiguration of a motion compensation parameter derivation unit in thePU information decoding unit in the video decoding device.

FIG. 30 is a functional block diagram illustrating a detailed exampleconfiguration of a motion information decoding unit in the decodingmodule in the video decoding device.

FIG. 31 illustrates an example of a PU syntax table in the related art,and is a diagram illustrating the configuration of encoded data in acase that no restriction of bi-prediction is performed.

FIG. 32 includes diagrams illustrating the meaning of an interprediction flag. Part (a) of FIG. 32 illustrates the meaning of an interprediction flag in a case that the inter prediction flag is a binaryflag, and part (b) of FIG. 32 illustrates the meaning of an interprediction flag in a case that the inter prediction flag is a ternaryflag.

FIG. 33 includes diagrams illustrating an example of a PU syntax table,in which (a) and (b) illustrate the configuration of encoded data in acase that restriction of bi-prediction is performed, and specificallyillustrate the portion of an inter prediction flag inter_pred_flag.

FIG. 34 includes diagrams illustrating an example of a syntax table forbi-prediction restriction. Part (a) of FIG. 34 illustrates the case thatthe sequence parameter set includes a flag disable_bipred_in_small_PUrestricting whether or not to impose the restriction of bi-prediction.Part (b) of FIG. 34 illustrates an example in which a predictionrestriction flag use_restricted_prediction is used as a common flag.Part (c) of FIG. 34 illustrates an example in which disable_bipred_sizeindicating the size of a PU for which bi-prediction is prohibited isincluded in encoded data.

FIG. 35 includes diagrams illustrating correspondences between rangesover which the restriction of bi-prediction applies and bi-predictionrestriction methods.

DESCRIPTION OF EMBODIMENTS

An embodiment of the present invention will be described with referenceto FIG. 1 to FIG. 24. First, an overview of a video decoding device(image decoding device) 1 and a video encoding device (image encodingdevice) 2 will be described with reference to FIG. 2. FIG. 2 is afunctional block diagram illustrating a schematic configuration of thevideo decoding device 1.

The video decoding device 1 and the video encoding device 2 illustratedin FIG. 2 implement technologies adopted in the H.264/MPEG-4 AVCspecifications, technologies adopted in KTA software, which is a codecfor joint development in VCEG (Video Coding Expert Group), technologiesadopted in TMuC (Test Model under Consideration) software, andtechnologies proposed in HEVC (High-Efficiency Video Coding), which is acodec successor to H.264/MPEG-4 AVC.

The video encoding device 2 generates encoded data #1 by entropyencoding the syntax values specified in the above-described video codingstandards to be transmitted from an encoder to a decoder.

Context-based adaptive variable length coding (CAVLC) and context-basedadaptive binary arithmetic coding (CABAC) are known as entropy codingschemes.

CAVLC- and CABAC-based encoding/decoding is based on context-adaptiveprocessing. The term “context” refers to a state (context) ofencoding/decoding. A context is determined using the previousencoded/decoded results of relevant syntax. The relevant syntaxincludes, for example, various syntax structures related to intraprediction and inter prediction, various syntax structures related toluminance (Luma) and color difference (Chroma), and various syntaxstructures related to CU (coding unit) sizes. In CABAC, furthermore, theposition of the binary to be encoded/decoded in binary data (binarysequence) corresponding to a syntax structure may be used as a context.

In CAVLC, various syntax elements are coded by adaptively changing a VLCtable to be used for coding. In CABAC, on the other hand, syntaxelements that may take multiple values, such as prediction modes andtransform coefficients, are binarized, and binary data obtained by thebinarization procedure is adaptively arithmetically coded in accordancewith the probability of occurrence. Specifically, a plurality of bufferseach holding the probability of occurrence of a binary value (0 or 1)are prepared. One of the buffers is selected in accordance with thecontext, and arithmetic coding is performed based on the probability ofoccurrence recorded on the selected buffer. The probability ofoccurrence in the buffer is updated on the basis of the binary value tobe decoded/encoded, enabling the appropriate probability of occurrenceto be maintained in accordance with the context.

The encoded data #1 obtained by the video encoding device 2 encoding amoving image is input to the video decoding device 1. The video decodingdevice 1 decodes the input encoded data #1, and outputs a moving image#2 to outside. Before proceeding to a detailed description of the videodecoding device 1, a description will be given hereinafter of theconfiguration of the encoded data #1.

[Configuration of Encoded Data]

An example configuration of the encoded data #1 generated by the videoencoding device 2 and decoded by the video decoding device 1 will bedescribed with reference to FIG. 3. The encoded data #1 includes, by wayof example, a sequence and a plurality of pictures forming the sequence.

FIG. 3 illustrates a structure of layers including a picture layer andlayers below the picture layer in the encoded data #1. Parts (a) to (d)of FIG. 3 are diagrams illustrating, respectively, a picture layer thatdefines a picture PICT, a slice layer that defines a slice S, a treeblock layer that defines a tree block TBLK, and a CU layer that definesa coding unit (CU) included in the tree block TBLK.

(Picture Layer)

The picture layer defines a data set referred to by the video decodingdevice 1 in order to decode a picture PICT being processed (hereinafteralso referred to as a target picture). As illustrated in part (a) ofFIG. 3, the picture PICT includes a picture header PH and slices S₁ toS_(NS) (where NS is the total number of slices included in the picturePICT).

Hereinafter, subscripts may be omitted if there is no need todistinguish the slices S₁ to S_(NS) from one another. The abovesimilarly applies to other data items with subscripts among the dataitems included in the encoded data #1, described below.

The picture header PH includes a coding parameter group referred to bythe video decoding device 1 in order to determine a method for decodingthe target picture. For example, coding mode information(entropy_coding_mode_flag) indicating a variable length coding mode usedby the video encoding device 2 for coding is an example of a codingparameter included in the picture header PH.

If entropy_coding_mode_flag is equal to 0, the picture PICT is a picturecoded using CAVLC (Context-based Adaptive Variable Length Coding). Ifentropy_coding_mode_flag is equal to 1, the picture PICT is a picturecoded using CABAC (Context-based Adaptive Binary Arithmetic Coding).

The picture header PH is also referred to as a picture parameter set(PPS).

(Slice Layer)

The slice layer defines a data set referred to by the video decodingdevice 1 in order to decode a slice S being processed (hereinafter alsocalled a target slice). As illustrated in part (b) of FIG. 3, the sliceS includes a slice header SH and tree blocks TBLK₁ to TBLK_(NC) (whereNC is the total number of tree blocks included in the slice S).

The slice header SH includes a coding parameter group referred to by thevideo decoding device 1 in order to determine a method for decoding thetarget slice. Slice type specifying information (slice_type) specifyinga slice type is an example of a coding parameter included in the sliceheader SH.

Slice types that may be specified by the slice type specifyinginformation include (1) I slice that uses only intra prediction forcoding, (2) P slice that uses uni-prediction or intra prediction forcoding, and (3) B slice that uses uni-prediction, bi-prediction, orintra prediction for coding.

The slice header SH may also include filter parameters referred to by aloop filter (not illustrated) included in the video decoding device 1.

(Tree Block Layer)

The tree block layer defines a data set referred to by the videodecoding device 1 in order to decode a tree block TBLK being processed(hereinafter also called a target tree block).

The tree block TBLK includes a tree block header TBLKH and coding unitinformation items CU₁ to CU_(NL) (where NL is the total number of codingunit information items included in the tree block TBLK). The followingis a description of, first, the relationship between the tree block TBLKand the coding unit information CU.

The tree block TBLK is split into units for specifying block sizes forthe respective processes of intra prediction or inter prediction andtransformation.

The units of the tree block TBLK are obtained by recursive quadtreepartitioning. The tree structure obtained by the recursive quadtreepartitioning is hereinafter referred to as a coding tree.

In the following, units corresponding to leaf nodes that are end pointsin a coding tree will be referenced as coding nodes. Since a coding nodeis the basic unit of a coding process, a coding node is hereinafter alsoreferred to as a coding unit (CU).

That is, the coding unit information items CU₁ to CU_(NL) areinformation items corresponding to the coding nodes (coding units)obtained by the recursive quadtree partitioning of the tree block TBLK.

The root of the coding tree is associated with the tree block TBLK. Inother words, the tree block TBLK is associated with the highest node ofa quadtree structure recursively including a plurality of coding nodes.

The size of each individual coding node is half, both horizontally andvertically, the size of a coding node to which the individual codingnode directly belongs (that is, the unit at the node that is one layerabove the individual coding node).

The size that each individual coding node may take depends on sizespecifying information and the maximum hierarchical depth of theindividual coding node, which are included in the sequence parameter setSPS in the encoded data #1. For example, if the tree block TBLK has asize of 64×64 pixels and has a maximum hierarchical depth of 3, each ofthe coding nodes in the layers at or below the tree block TBLK may takeany of the following four sizes: 64×64 pixels, 32×32 pixels, 16×16pixels, and 8×8 pixels.

(Tree Block Header)

The tree block header TBLKH includes coding parameters referred to bythe video decoding device 1 in order to determine a method for decodingthe target tree block. Specifically, as illustrated in part (c) of FIG.3, the tree block header TBLKH includes tree block split informationSP_TBLK specifying a pattern in which the target tree block is splitinto individual CUs, and a quantization parameter difference Δqp(qp_delta) specifying a quantization step size.

The tree block split information SP_TBLK is information indicating acoding tree for splitting a tree block. Specifically, the tree blocksplit information SP_TBLK is information for specifying the shape andsize of the CUs included in the target tree block and also specifyingthe position of the CUs in the target tree block.

The tree block split information SP_TBLK may not necessarily explicitlyinclude the shape or size of the CUs. For example, the tree block splitinformation SP_TBLK may be a set of flags (split_coding_unit_flag)indicating whether or not to split the entire target tree block or asub-block of a tree block into four sections. In this case, the shapeand size of the CUs can be identified using the shape and size of thetree block in combination with the set of flags.

The quantization parameter difference Δqp is a difference qp-qp′ betweena quantization parameter qp in the target tree block and a quantizationparameter qp′ in the tree block that has been coded immediately beforethe target tree block.

(Cu Layer)

The CU layer defines a data set referred to by the video decoding device1 in order to decode a CU being processed (hereinafter also referred toas a target CU).

Before proceeding to the discussion of the specific content of the dataitems included in the coding unit information CU, a description will begiven of the tree structure of data items included in a CU. A codingnode is a node at the root of a prediction tree (PT) and a transformtree (TT). The following is a description of the prediction tree and thetransform tree.

In the prediction tree, the coding node is split into one or moreprediction blocks, and the prediction tree specifies the position andsize of the individual prediction blocks. In other words, predictionblocks are one or more non-overlapping regions forming a coding node.The prediction tree includes one or more prediction blocks obtained bythe splitting procedure described above.

A prediction process is performed in units of prediction blocks. Theprediction blocks, which are the units of prediction, are hereinafteralso referred to as prediction units (PUs).

There are roughly two prediction tree partition types, namely, intraprediction and inter prediction.

For the intra prediction, partitions of 2N×2N (the same size as thecoding node) and N×N are available.

For the inter prediction, partitions of 2N×2N (the same size as thecoding node), 2N×N, N×2N, N×N, and the like are available.

In the transform tree, the coding node is split into one or moretransform blocks, and the transform tree specifies the position and sizeof the individual transform blocks. In other words, transform blocks areone or more non-overlapping regions forming a coding node. The transformtree includes one or more transform blocks obtained by the splittingprocedure described above.

A transform process is performed in units of transform blocks. Thetransform blocks, which are the units of transform, are hereinafter alsoreferred to as transform units (TUs).

(Data Structure of Coding Unit Information)

Next, the detailed content of data items included in the coding unitinformation CU will be described with reference to part (d) of FIG. 3.As illustrated in part (d) of FIG. 3, specifically, the coding unitinformation CU includes a skip mode flag (a skip flag) SKIP, CUprediction type information Pred_type, PT information PTI, and TTinformation TTI.

[Skip Flag]

The skip flag SKIP is a flag indicating whether or not a skip mode isapplied to the target CU. If the value of the skip flag SKIP is equal to1, that is, if a skip mode is applied to the target CU, the PTinformation PTI in the coding unit information CU is omitted. The skipflag SKIP is omitted in I slices.

[CU Prediction Type Information]

The CU prediction type information Pred_type includes CU prediction modeinformation PredMode and PU partition type information PartMode.

The CU prediction mode information PredMode specifies which of intraprediction (intra CU) and inter prediction (inter CU) to use as aprediction image generation method for each of the PUs included in thetarget CU. In the following, the types of skip, intra prediction, andinter prediction in the target CU are referred to as CU predictionmodes.

The PU partition type information PartMode specifies a PU partition typethat is a pattern in which the target coding unit (CU) is split intoindividual PUs. The split of the target coding unit (CU) into individualPUs in the manner described above in accordance with the PU partitiontype is hereinafter referred to as PU partition.

The PU partition type information PartMode may be, by way of example, anindex indicating a type of PU partition pattern, or may specify theshape and size of the PUs included in the target prediction tree andalso specify the position of the PUs in the target prediction tree.

PU partition types that can be selected differ depending on the CUprediction scheme and the CU size. Moreover, PU partition types that canbe selected differ depending on inter prediction or intra prediction.The details of the PU partition types will be described below.

For non-I slices, the value of the PU partition type informationPartMode may be identified by an index (cu_split_pred_part_mode)specifying a combination of tree block partitioning, prediction scheme,and CU splitting method.

[PT Information]

The PT information PTI is information concerning a PT included in thetarget CU. In other words, the PT information PTI is a set ofinformation items each concerning one of one or more PUs included in thePT. As described above, since a prediction image is generated on aper-PU basis, the PT information PTI is referred to by the videodecoding device 1 to generate a prediction image. As illustrated in part(d) of FIG. 3, the PT information PTI includes PU information items PUI₁to PUI_(NP) (where NP is the total number of PUs included in the targetPT) each including prediction information and the like on one of thePUs.

The prediction information PUI includes intra prediction information orinter prediction information in accordance with which prediction methodthe prediction type information Pred_mode specifies. In the following, aPU to which intra prediction is applied is also referred to as an intraPU, and a PU to which inter prediction is applied is also referred to asan inter PU.

The inter prediction information includes coding parameters referred toby the video decoding device 1 to generate an inter prediction imageusing inter prediction.

Inter prediction parameters include, for example, a merge flag(merge_flag), a merge index (merge_idx), a motion vector predictor index(mvp_idx), a reference image index (ref_idx), an inter prediction flag(inter_pred_flag), and a motion vector difference (mvd).

The intra prediction information includes coding parameters referred toby the video decoding device 1 to generate an intra prediction imageusing intra prediction.

Intra prediction parameters include, for example, an estimatedprediction mode flag, an estimated prediction mode index, and a residualprediction mode index.

In the intra prediction information, a PCM mode flag indicating whetheror not to use a PCM mode may be coded. If the PCM mode flag has beencoded and the PCM mode flag indicates the use of the PCM mode, theprocesses of prediction (intra), transformation, and entropy coding areomitted.

[TT Information]

The TT information TTI is information concerning a TT included in a CU.In other words, the TT information TTI is a set of information itemseach concerning one of one or more TUs included in the TT. The TTinformation TTI is referred to by the video decoding device 1 to decoderesidual data. In the following, a TU may also be referred to as ablock.

As illustrated in part (d) of FIG. 3, the TT information TTI includes TTsplit information SP_TU specifying a pattern in which the target CU issplit into individual transform blocks, and TU information items TUI₁ toTUI_(NT) (where NT is the total number of blocks included in the targetCU).

The TT split information SP_TU is information for, specifically,determining the shape and size of the TUs included in the target CU andalso determining the position of the TUs in the target CU. The TT splitinformation SP_TU may be implemented by, for example, information(split_transform_flag) indicating whether or not to split the targetnode into partitions and information (trafoDepth) indicating the depthof the partitions.

For example, if the CU size is 64×64, each of the TUs obtained bysplitting may have a size in the range of 32×32 pixels to 4×4 pixels.

The TU information items TUI₁ to TUI_(NT) are individual informationitems each concerning one of one or more TUs included in the TT. Forexample, the TU information TUI includes quantized prediction residuals.

Each quantized prediction residual is encoded data generated by thevideo encoding device 2 performing the following processes 1 to 3 on thetarget block, which is a block being processed.

Process 1: Application of a DCT transform (Discrete Cosine Transform) toa prediction residual obtained by subtracting a prediction image from animage to be encoded;

Process 2: Quantization of a transform coefficient obtained by Process1; and

Process 3: Encoding of the transform coefficient quantized in Process 2using a variable-length code.

The quantization parameter qp described above represents the size of thequantization step QP used when the video encoding device 2 quantizes atransform coefficient (QP=2^(qp/6)).

(PU Partition Type)

Given that the target CU has a size of 2N×2N pixels, the PU partitiontype has the following eight patterns: four symmetric partitions(symmetric splittings) of 2N×2N pixels, 2N×N pixels, N×2N pixels, andN×N pixels, and four asymmetric partitions (asymmetric splittings) of2N×nU pixels, 2N×nD pixels, nL×2N pixels, and nR×2N pixels. Note thatN=2^(m) (where m is an arbitrary integer greater than or equal to 1). Inthe following, regions obtained by splitting the target CU are alsoreferred to as partitions.

Parts (a) to (h) of FIG. 4 illustrate specific positions of theboundaries of PU partitions in CUs for the respective partition types.

Part (a) of FIG. 4 illustrates the PU partition type of 2N×2N in whichthe CU is not split.

Parts (b), (c), and (d) of FIG. 4 illustrate the shape of partitions forthe PU partition types of 2N×N, 2N×nU, and 2N×nD, respectively. In thefollowing, partitions for the PU partition types of 2N×N, 2N×nU, and2N×nD are collectively referred to as landscape-oriented partitions.

Parts (e), (f), and (g) of FIG. 4 illustrate the shape of partitions forthe PU partition types of N×2N, nL×2N, and nR×2N, respectively. In thefollowing, partitions for the PU partition types of N×2N, nL×2N, andnR×2N are collectively referred to as portrait-oriented partitions.

The landscape-oriented partitions and the portrait-oriented partitionsare collectively referred to as rectangular partitions.

Part (h) of FIG. 4 illustrates the shape of partitions for the PUpartition type of N×N. The PU partition types in parts (a) and (h) ofFIG. 4 are also referred to as a square partition, which is based on theshapes of the partitions. The PU partition types in parts (b) to (g) ofFIG. 4 are also referred to as a non-square partition.

In parts (a) to (h) of FIG. 4, numbers assigned to individual regionsrepresent the identification numbers of the regions, and the regions areprocessed in ascending order of their identification numbers. That is,the identification numbers represent the scan order of the regions.

In parts (a) to (h) of FIG. 4, furthermore, it is assumed that the upperleft corner is the reference point (origin) of the CU.

[Partition Types for Inter Prediction]

Of the eight partition types described above, seven types, other thanN×N (part (h) of FIG. 4), are defined for inter PUs. The four asymmetricsplittings described above may also be referred to as AMPs (AsymmetricMotion Partitions).

The specific value of N, described above, is specified by the size ofthe CU to which the current PU belongs, and the specific values of nU,nD, nL, and nR are determined in accordance with the value of N. Forexample, an inter CU having 128×128 pixels can be split into an inter PUhaving 128×128 pixels or into inter PUs having 128×64 pixels, 64×128pixels, 64×64 pixels, 128×32 pixels, 128×96 pixels, 32×128 pixels, or96×128 pixels.

[Partition Types for Intra Prediction]

The following two partition patterns are defined for intra PUs: thepartition pattern of 2N×2N in which the target CU is not split, that is,the target CU itself is handled as one PU, and the pattern of N×N inwhich the target CU is symmetrically split into four PUs.

Thus, referring to the examples illustrated in FIG. 4, the partitionpatterns in parts (a) and (h) may be used for intra PUs.

For example, an intra CU having 128×128 pixels may be split into anintra PU having 128×128 pixels or intra PUs having 64×64 pixels.

For I slices, the coding unit information CU may include an intrapartition mode (intra_part_mode) for identifying the PU partition typePartMode.

(TU Partitioning and Order of TUs in Node)

Next, TU partitioning and the order of TUs in a node will be describedwith reference to FIG. 18 to FIG. 20. A TU partition pattern isdetermined by the CU size, the partition depth (trafoDepth), and the PUpartition type of the target PU.

The TU partition patterns include square quadtree partitions andnon-square quadtree partitions. Specific examples of the TU partitionpatterns are illustrated in FIG. 18 and FIG. 19.

FIG. 18 illustrates partitioning schemes in which a square node is splitinto square or non-square nodes using quadtree partitioning.

Part (a) of FIG. 18 illustrates a partitioning scheme in which a squarenode is split into square nodes using quadtree partitioning. Part (b) ofFIG. 18 illustrates a partitioning scheme in which a square node issplit into landscape-oriented rectangular nodes using quadtreepartitioning. Part (c) of FIG. 18 illustrates a partitioning scheme inwhich a square node is split into portrait-oriented rectangular nodesusing quadtree partitioning.

FIG. 19 illustrates partitioning schemes in which a non-square node issplit into square or non-square nodes using quadtree partitioning.

Part (a) of FIG. 19 illustrates a partitioning scheme in which alandscape-oriented rectangular node is split into landscape-orientedrectangular nodes using quadtree partitioning. Part (b) of FIG. 19illustrates a partitioning scheme in which a landscape-orientedrectangular node is split into square nodes using quadtree partitioning.Part (c) of FIG. 19 illustrates a partitioning scheme in which aportrait-oriented rectangular node is split into portrait-orientedrectangular nodes using quadtree partitioning. Part (d) of FIG. 19illustrates a partitioning scheme in which a portrait-orientedrectangular node is split into square nodes using quadtree partitioning.

FIG. 20 illustrates an example of TU partitions of a 32×32 CU with thePU partition type of 2N×N. In FIG. 20, “depth” represents the partitiondepth (trafoDepth). Further, “split” represents the value ofsplit_transform_flag at the corresponding depth. If “split” is equal to“1”, TU partitioning is applied to the node at the corresponding depth.If “split” is equal to “0”, no TU partitioning is applied.

The details of the correspondences between the TU partition patterns andCU sizes, partition depths (trafoDepth), and PU partition types of thetarget PU will be described below.

[Video Decoding Device]

A configuration of the video decoding device 1 according to thisembodiment will be described hereinafter with reference to FIG. 1 toFIG. 24.

(Overview of Video Decoding Device)

The video decoding device 1 generates a prediction image for each PU.The video decoding device 1 adds the generated prediction image to aprediction residual decoded from the encoded data #1 to generate adecoded image #2, and outputs the generated decoded image #2 to outside.

The generation of a prediction image is based on the reference to codingparameters obtained by decoding the encoded data #1. The codingparameters are parameters referred to in order to generate a predictionimage. The coding parameters include prediction parameters such as amotion vector that is referred to in inter-frame prediction and aprediction mode that is referred to in intra-frame prediction. Thecoding parameters also include the PU size and shape, the block size andshape, residual data between the original image and the predictionimage, and so on. In the following, a set of all information items,except for the residual data, among the information items included inthe coding parameters is referred to as side information.

In the following, furthermore, the picture (frame), slice, tree block,block, and PU to be decoded are referred to as the target picture, thetarget slice, the target tree block, the target block, and the targetPU, respectively.

The tree block size is, for example, 64×64 pixels, and the PU size is,for example, 64×64 pixels, 32×32 pixels, 16×16 pixels, 8×8 pixels, 4×4pixels, or the like. However, these sizes are merely illustrative, andany other tree block size and PU size may be used.

(Configuration of Video Decoding Device)

Referring back to FIG. 2, a schematic configuration of the videodecoding device 1 will be described hereinafter. FIG. 2 is a functionalblock diagram illustrating a schematic configuration of the videodecoding device 1.

As illustrated in FIG. 2, the video decoding device 1 includes adecoding module 10, a CU information decoding unit 11, a PU informationdecoding unit 12, a TU information decoding unit 13, a prediction imagegeneration unit 14, a dequantization/inverse transform unit 15, a framememory 16, and an adder 17.

[Decoding Module]

The decoding module 10 performs a decoding process to decode a syntaxvalue from a binary representation. More specifically, the decodingmodule 10 decodes a syntax value encoded using an entropy coding schemesuch as CABAC or CAVLC, on the basis of the encoded data and syntax typesupplied from the source, and returns the decoded syntax value to thesource.

In the example described below, the source from which the encoded dataand the syntax type are supplied includes the CU information decodingunit 11, the PU information decoding unit 12, and the TU informationdecoding unit 13.

The following is a description of an example of the decoding process ofthe decoding module 10, in which a binary representation (bit sequence)of encoded data and the syntax type “split_coding_unit_flag” aresupplied from the CU information decoding unit 11 to the decoding module10. In this case, the decoding module 10 refers to the associationsbetween a bit sequence related to “split_coding_unit_flag” and a syntaxvalue to derive the syntax value from the binary representation, andreturns the derived syntax value to the CU information decoding unit 11.

[CU Information Decoding Unit]

The CU information decoding unit 11 performs a decoding process onencoded data #1 of one frame, which is input from the video encodingdevice 2, using the decoding module 10 on the tree block and CU levels.Specifically, the CU information decoding unit 11 decodes the encodeddata #1 using the following procedure.

First, the CU information decoding unit 11 refers to various headersincluded in the encoded data #1, and sequentially separates the encodeddata #1 into slices and then tree blocks.

The various headers include (1) information on the method ofpartitioning the target picture into slices, and (2) information on thesize and shape of tree blocks included in the target slice and theposition of the tree blocks in the target slice.

The CU information decoding unit 11 refers to the tree block splitinformation SP_TBLK included in the tree block header TBLKH, and splitsthe target tree block into CUs.

Then, the CU information decoding unit 11 acquires coding unitinformation (hereinafter referred to as CU information) corresponding tothe obtained CUs. The CU information decoding unit 11 sequentiallydesignates each of the CUs included in the tree block as a target CU,and executes the decoding process on the CU information corresponding tothe target CU.

That is, the CU information decoding unit 11 demultiplexes the TTinformation TTI concerning the transform tree obtained for the target CUand the PT information PTI concerning the prediction tree obtained forthe target CU.

As described above, the TT information TTI includes TU information TUIcorresponding to the TUs included in the transform tree. As describedabove, the PT information PTI includes PU information PUI correspondingto the PUs included in the target prediction tree.

The CU information decoding unit 11 supplies the PT information PTIobtained for the target CU to the PU information decoding unit 12.Further, the CU information decoding unit 11 supplies the TT informationTTI obtained for the target CU to the TU information decoding unit 13.

[PU Information Decoding Unit]

The PU information decoding unit 12 performs a decoding process on thePT information PTI supplied from the CU information decoding unit 11,using the decoding module 10 on the PU level. Specifically, the PUinformation decoding unit 12 decodes the PT information PTI using thefollowing procedure.

The PU information decoding unit 12 refers to the PU partition typeinformation PartMode, and determines the PU partition type for thetarget prediction tree. Then, the PU information decoding unit 12sequentially designates each of the PUs included in the targetprediction tree as a target PU, and executes the decoding process on thePU information corresponding to the target PU.

That is, the PU information decoding unit 12 decodes parameters used forthe generation of a prediction image, from the PU informationcorresponding to the target PU.

The PU information decoding unit 12 supplies the PU information decodedfor the target PU to the prediction image generation unit 14.

[TU Information Decoding Unit]

The TU information decoding unit 13 performs a decoding process on theTT information TTI supplied from the CU information decoding unit 11,using the decoding module 10 on the TU level. Specifically, the TUinformation decoding unit 13 decodes the TT information TTI using thefollowing procedure.

The TU information decoding unit 13 refers to the TT split informationSP_TU, and splits the target transform tree into nodes or TUs. If thefurther splitting of the target node is specified, the TO informationdecoding unit 13 recursively performs the splitting of the TUs.

When the splitting process is completed, the TU information decodingunit 13 sequentially designates each of the TUs included in the targetprediction tree as a target TU, and executes the decoding process on theTU information corresponding to the target TU.

That is, the TU information decoding unit 13 decodes parameters used forthe restoration of a transform coefficient, from the TU informationcorresponding to the target TU.

The TU information decoding unit 13 supplies the TU information decodedfor the target TU to the dequantization/inverse transform unit 15.

[Prediction Image Generation Unit]

The prediction image generation unit 14 generates a prediction image foreach of the PUs included in the target CU, on the basis of the PTinformation PTI. Specifically, the prediction image generation unit 14performs intra prediction or inter prediction on each target PU includedin the target prediction tree in accordance with the parameters includedin the PU information PUI corresponding to the target PU to generate aprediction image Pred from a decoded image, or a locally decoded imageP′. The prediction image generation unit 14 supplies the generatedprediction image Pred to the adder 17.

The following is a description of a technique how the prediction imagegeneration unit 14 generates a prediction image of a PU included in thetarget CU on the basis of motion compensation prediction parameters(motion vector, reference image index, inter prediction flag).

If the inter prediction flag indicates uni-prediction, the predictionimage generation unit 14 generates a prediction image corresponding to adecoded image located at the position indicated by the motion vector ofthe reference image identified by the reference image index.

If the inter prediction flag indicates bi-prediction, on the other hand,the prediction image generation unit 14 generates a prediction imageusing motion compensation for each of two combinations of referenceimage indices and motion vectors and averages the generated predictionimages, or performs weighted addition of the respective predictionimages on the basis of the display time interval between the targetpicture and the respective reference images. Accordingly, the predictionimage generation unit 14 generates a final prediction image.

[Dequantization/Inverse Transform Unit]

The dequantization/inverse transform unit 15 performs a dequantizationand inverse transform process on each of the TUs included in the targetCU on the basis of the TT information TTI. Specifically, thedequantization/inverse transform unit 15 dequantizes and performsinverse orthogonal transform on the quantized prediction residualincluded in the TU information TUI corresponding to each of the targetTUs included in the target transform tree to restore a predictionresidual D for each pixel. The term “orthogonal transform”, as usedherein, refers to the orthogonal transform from the pixel domain to thefrequency domain. The term “inverse orthogonal transform” thus refers tothe transform from the frequency domain to the pixel domain. Examples ofthe inverse orthogonal transform include inverse DCT transform (InverseDiscrete Cosine Transform) and inverse DST transform (Inverse DiscreteSine Transform). The dequantization/inverse transform unit 15 suppliesthe restored prediction residual D to the adder 17.

[Frame Memory]

Decoded images P are sequentially recorded on the frame memory 16together with the parameters used in the decoding of the decoded imagesP. At the time of decoding of a target tree block, the frame memory 16has recorded thereon the decoded images corresponding to all the treeblocks (for example, all the preceding tree blocks in raster scan order)that have already been decoded before the target tree block. Thedecoding parameters recorded on the frame memory 16 include, forexample, the CU prediction mode information PredMode.

[Adder]

The adder 17 adds the prediction images Pred supplied from theprediction image generation unit 14 to the prediction residuals Dsupplied from the dequantization/inverse transform unit 15 to generate adecoded image P for the target CU.

At the time when the generation process for a decoded image on a treeblock basis is completed for all the tree blocks in an image, a decodedimage #2 corresponding to encoded data #1 of one frame, which is inputto the video decoding device 1, is output to outside from the videodecoding device 1.

In the following, a detailed description will be given of the respectiveconfigurations of (1) the CU information decoding unit 11, (2) the PUinformation decoding unit 12, and (3) the TU information decoding unit13, together with the configuration of the decoding module 10corresponding to the configurations.

(1) Details of CU Information Decoding Unit

An example configuration of the CU information decoding unit 11 and thedecoding module 10 will now be described with reference to FIG. 1. FIG.1 is a functional block diagram exemplifying a configuration fordecoding CU prediction information in the video decoding device 1, thatis, the configuration of the CU information decoding unit 11 and thedecoding module 10.

The configuration of the individual components in the CU informationdecoding unit 11 and the decoding module 10 will be describedhereinafter in this order.

(CU Information Decoding Unit)

As illustrated in FIG. 1, the CU information decoding unit 11 includes aCU prediction mode determination unit 111, a PU size determination unit112, and a PU size table 113.

The CU prediction mode determination unit 111 supplies encoded data andsyntax type of the CU prediction mode and encoded data and syntax typeof the PU partition type to the decoding module 10. In addition, the CUprediction mode determination unit 111 acquires the syntax values of theCU prediction mode and the syntax values of the PU partition type, whichhave been decoded, from the decoding module 10.

Specifically, the CU prediction mode determination unit 111 determinesthe CU prediction mode and the PU partition type as follows.

First, the CU prediction mode determination unit 111 determines whetheror not the target CU is a skip CU using a skip flag SKIP decoded by thedecoding module 10.

If the target CU is not a skip CU, the CU prediction type informationPred_type is decoded using the decoding module 10. Further, the CUprediction mode determination unit 111 determines whether the target CUis an intra CU or an inter CU on the basis of the CU prediction modeinformation PredMode included in the CU prediction type informationPred_type, and also determines the PU partition type on the basis of thePU partition type information PartMode.

The PU size determination unit 112 refers to the PU size table 113, anddetermines the number of PUs and a PU size from the size of the targetCU and the CU prediction type and PU partition type determined by the CUprediction mode determination unit 111.

The PU size table 113 is a table in which the numbers of PUs and PUsizes are associated with CU sizes and combinations of CU predictiontypes and PU partition types.

A specific example configuration of the PU size table 113 will now bedescribed with reference to FIG. 5.

The PU size table 113 illustrated in FIG. 5 defines the numbers of PUsand PU sizes in accordance with CU sizes and PU partition types (intraCU and inter CU). In the table, the symbol “d” denotes the CU partitiondepth.

In the PU size table 113, the following four CU sizes are defined:64×64, 32×32, 16×16, and 8×8.

In the PU size table 113, furthermore, the number of PUs and a PU sizefor each PU partition type are defined for each CU size.

For example, for a 64×64 inter CU and a partition of 2N×N, the number ofPUs is 2 and the PU sizes are both 64×32.

For a 64×64 inter CU and a partition of 2N×nU, the number of PUs is 2and the PU sizes are 64×16 and 64×48.

For an 8×8 intra CU and a partition of N×N, the number of PUs is 4 andthe PU sizes are all 4×4.

The PU partition type of a skip CU is presumably 2N×2N. In the table,the sign “-” represents an unselectable PU partition type.

Specifically, for the CU size of 8×8, PU partition types of asymmetricpartition (2N×nU, 2N×nD, nL×2N, and nR×2N) are not selectable in thecase of inter CU. In the case of inter CU, furthermore, the PU partitiontype of N×N is not selectable.

For intra prediction, the PU partition type of N×N is selectable only inthe case of 8×8 CU size.

(Decoding Module)

As illustrated in FIG. 1, the decoding module 10 includes a CUprediction mode decoding unit (decoding means, changing means) 1011, abinarization information storage unit 1012, a context storage unit 1013,and a probability setting storage unit 1014.

The CU prediction mode decoding unit 1011 decodes a syntax value, inaccordance with the encoded data and syntax type supplied from the CUprediction mode determination unit 111, from a binary representationincluded in the encoded data. Specifically, the CU prediction modedecoding unit 1011 performs decoding processes for the CU predictionmode and the PU partition type in accordance with the binarizationinformation stored in the binarization information storage unit 1012.The CU prediction mode decoding unit 1011 also performs a decodingprocess for the skip flag.

The binarization information storage unit 1012 stores binarizationinformation for allowing the CU prediction mode decoding unit 1011 todecode a syntax value from a binary representation. The binarizationinformation is information indicating associations between binaryrepresentations (bin sequences) and syntax values.

The context storage unit 1013 stores contexts referred to by the CUprediction mode decoding unit 1011 in decoding processes.

The probability setting storage unit 1014 stores probability settingvalues referred to by the CU prediction mode decoding unit 1011 todecode a bin sequence from encoded data using an arithmetic decodingprocess. The probability setting values include recorded setting valueseach corresponding to a context, and specified probability settingvalues. The probability setting values corresponding to the individualcontexts are updated based on the results of arithmetic decoding. On theother hand, the specified probability setting values are fixed and arenot updated in accordance with the results of arithmetic decoding. Theprobability setting values may not necessarily be in the form of thevalues of probability, but may be represented as being indicated byinteger values corresponding to the values of probability.

SPECIFIC EXAMPLE CONFIGURATION

[1-1] Example of Configuration for Restricting References to Contexts

If the PU partition type is an asymmetric partition, the CU predictionmode decoding unit 1011 may perform a decoding process on informationindicating a partition type of the asymmetric partition, without usingcontexts for CABAC. In other words, the CU prediction mode decoding unit1011 may decode a bin sequence corresponding to information indicating apartition type of the asymmetric partition from encoded data usingarithmetic decoding, by performing the decoding process using aspecified probability setting value (for example, a probability settingvalue in which the probability of occurrence of 0 is equal to theprobability of occurrence of 1) without using a probability settingvalue recorded on the probability setting storage unit 1014 for eachcontext.

A configuration for restricted references to contexts, described above,will be described hereinafter by way of example with reference to FIG.7.

The CU prediction mode decoding unit 1011 decodes information indicatinga partition type of asymmetric partition, assuming a specifiedprobability.

A more specific example of the present example configuration will now bedescribed with reference to FIG. 7. An association table BT1 illustratedin FIG. 7 depicts rectangular partitions, with the prefix portionindicating whether the direction of partitioning is landscapeorientation (horizontal) or portrait orientation (vertical) and thesuffix portion indicating partition types.

For example, when the prefix portion indicates that the PU partitiontype is a landscape-oriented partition, the suffix portion indicateswhich of the three kinds of landscape-oriented partitions, namely, 2N×N,2N×nU, and 2N×nD, to select.

If the PU partition type is a rectangular partition, the CU predictionmode decoding unit 1011 refers to the specified probability settingvalues set in the probability setting storage unit 1014, instead of theprobability setting values recorded for the respective contexts, whichare set in the probability setting storage unit 1014, and performsarithmetic decoding of each bin in the suffix portion. The probabilitysetting value may be set on the basis of the assumption of, for example,equal probabilities.

The term “CABAC arithmetic decoding using a context”, as used herein,refers to a process for recording or updating the (state indicating the)probability of occurrence of a binary value in accordance with theposition (context) of a binary representation and performing arithmeticdecoding based on the probability of occurrence (state). The term “CABACarithmetic decoding without using a context”, in contrast, refers toarithmetic decoding based on a fixed probability determined by aprobability setting value without updating the probability of occurrence(state) of a binary value. Since the update of the probability ofoccurrence (state) is not necessary in encoding processes or decodingprocesses if contexts are not used, processing load is reduced andthroughput is increased. In addition, a memory for accumulatingprobabilities of occurrence (states) corresponding to contexts is notnecessary. Coding with a fixed probability of 0.5 may be referred to asEP coding (equal probabilities, equal probability coding) or bypass.

The operations and effects of the configuration described above will bedescribed with reference to FIG. 6. A context is effective for theimprovement in coding efficiency when the same code appearsconsecutively in a specific condition. Coding efficiency is improved bydecoding the suffix portion by referring to contexts when, specifically,2N×N, 2N×nU, or 2N×nD is consecutively selected in a state where alandscape-oriented partition is selected. This effect works, forexample, when 2N×N is selected in a prediction unit subsequent to theprediction unit in which 2N×N was selected.

On the other hand, partitions are generally set so as not to lie overedge boundaries, as illustrated in FIG. 6.

Specifically, as illustrated in FIG. 6, if an edge E1 having aninclination is present in a region, the PU partition type of a CU 10 anda CU 20 is determined so that no partitions lie across the edge E1.

More specifically, the edge E1 is present near the center in thevertical direction of a region in the CU 10, whereas the edge E1 ispresent in an upper portion of a region in the CU 20.

In this manner, if an edge E1 having an inclination is present in aregion, the CU 10 is split into a PU 11 and a PU 12 that are symmetricto each other using the 2N×N PU partition type so that no partitions lieacross the edge E1.

The CU 20 is split into a PU 21 and a PU 22 that are asymmetric to eachother using the 2N×nU partition type so that no partitions lie acrossthe edge E1.

In this manner, if an edge E1 having an inclination is present in aregion, in some cases, partitions having the same shape do not appearconsecutively.

In such cases, 2N×N, 2N×nU, or 2N×nD is not consecutively selected. Inthese cases, coding efficiency might not be reduced even without usingcontexts.

As in the configuration described above, the information described aboveis decoded with the assumption of a specified probability for the prefixportion, which may simplify the decoding process for pred_type whilemaintaining coding efficiency.

[Operations and Effects]

The present invention may also be expressed in the following form. Animage decoding device according to an aspect of the present invention isan image decoding device for restoring an image by generating aprediction image for each of prediction units obtained by splitting acoding unit into one or more partitions. Partition types in which acoding unit is split into the prediction units include a partition intorectangular prediction units, and codes for identifying a partition intothe rectangular prediction units include a code indicating whether eachof the rectangular prediction units is portrait-oriented orlandscape-oriented, and a code indicating a type of rectangularprediction unit. The image decoding device includes decoding means fordecoding the code indicating a type of rectangular prediction unitwithout using a context.

Thus, it is possible to achieve simplified processes without referringto contexts while maintaining coding efficiency.

The example described above may also be expressed as follows.Information for selecting any PU partition type among a set of PUpartition types for PU partition including a plurality of rectangularpartitions, the set of PU partition types including symmetric partitiontypes and asymmetric partition types, may be decoded without using acontext.

In the example described above, a context may be used for the decodingof some of the bins in a bin sequence corresponding to information usedfor the selection of asymmetric partition, instead of no contexts beingused for the decoding of any of the bins. For example, in the example inFIG. 7 described above, if a partition including a rectangular partitionis selected for a CU having a size larger than 8×8, up to two-digit binsare decoded. Of the two-digit bins, the first digit is informationindicating a symmetric partition or an asymmetric partition. The seconddigit is a bin to be decoded if the first digit is equal to ‘0’, orindicates an asymmetric partition, and represents a positionalrelationship between the smaller PU and the larger PU in an asymmetricpartition. Preferably, a context is not set for the first digit sincethe same code may not necessarily appear consecutively due to the reasondescribed above with reference to FIG. 6. For the second digit, however,a context is preferably set because on the basis of the assumption thatan asymmetric partition is being used, the smaller PU locally tends tobe tilted to one side (for example, upward or downward if the seconddigit indicates information on the selection of 2N×nU or 2N×nD).

[1-2] Configuration for Decoding CU Prediction Type Information(Pred_Type)

The CU prediction mode decoding unit 1011 may be configured to decode CUprediction type information by referring to the binarization informationstored in the binarization information storage unit 1012, as describedbelow.

An example configuration of the binarization information stored in thebinarization information storage unit 1012 will be described withreference to FIG. 7. FIG. 7 is a table indicating an example ofbinarization information that defines associations between combinationsof CU prediction types and PU partition types and bin sequences.

In FIG. 7, by way of example, but not limited to, binarizationinformation is represented in tabular form in which bin sequences areassociated with CU prediction types and PU partition types. Thebinarization information may be represented as derivation formulas fromwhich PU partition types and CU prediction types are derived. The abovesimilarly applies to binarization information described below.

In addition, the binarization information may not necessarily be storedas data. The binarization information may be implemented as logic of aprogram for performing a decoding process.

In the table BT1 illustrated by way of example in FIG. 7, bin sequencesare associated with CU prediction types and PU partition types inaccordance with CU sizes.

First, a description will be given of the definition of CU sizes. In theassociation table BT1, two associations, namely, a non-8×8 CU 1012Bhaving a CU size larger than 8×8 (CU>8×8) and an 8×8 CU 1012A having aCU size equal to 8×8 (CU==8×8), are defined as the definition of CUsizes.

Each of the bin sequences associated in the non-8×8 CU 1012B and the 8×8CU 1012A has a prefix portion (prefix) and a suffix portion (suffix).

In the association table BT1, two CU prediction types, namely, the intraCU described above (labeled as “Intra”) and inter CU (labeled as“Inter”), are defined for the definition of the respective CU sizes. PUpartition types are further defined for the respective CU predictiontypes.

Details are as follows. First, for the intra CU, two PU partition types,namely, 2N×2N and N×N, are defined.

A description of 2N×2N will be given hereinafter. In the non-8×8 CU1012B, only the prefix portion is defined and the bin sequence is “000”.The suffix portion is not coded. In the 8×8 CU 1012A, the prefix portionis “000” and the suffix portion is “0”.

For N×N, on the other hand, a definition is provided only for thenon-8×8 CU 1012B. In this case, the prefix portion is “000”, and thesuffix portion is “1”.

In this manner, for the intra CU, the prefix portion is “000”, which iscommon.

For the inter CU, seven PU partition types, namely, 2N×2N, 2N×N, 2N×nU,2N×nD, N×2N, nL×2N, and nR×2N, are defined.

If the PU partition type is 2N×2N, only the prefix portion is definedand the bin sequence is “1” in either the non-8×8 CU 1012B or the 8×8 CU1012A.

In the non-8×8 CU 1012B, the common prefix portion “01” is assigned tothe PU partition types of the landscape-oriented partition, which arebased on partitioning in the horizontal direction, namely, 2N×N, 2N×nU,and 2N×nD.

The suffix portions for 2N×N, 2N×nU, and 2N×nD are “1”, “00”, and “01”,respectively.

Further, the common prefix portion “001” is assigned to the PU partitiontypes of the portrait-oriented partition, which are based on a partitionin the vertical direction, namely, N×2N, nL×2N, and nR×2N.

The suffix portions for N×2N, nL×2N, and nR×2N are “1”, “00”, and “01”,respectively. The suffix portions are similar to those in the PUpartition types described above which are based on a partition in thehorizontal direction.

Specifically, in the definition of the landscape-oriented partition andthe portrait-oriented partition, the suffix portion represents partitiontypes. More specifically, the bin is “1” for a symmetric partition. “00”indicates that the partition boundary lies nearer the origin than thatfor a symmetric partition, and “01” indicates that the partitionboundary lies farther from the origin than for a symmetric partition.

Next, in the 8×8 CU 1012A, only the prefix portions are defined for2N×2N, 2N×N, and N×2N. The prefix portions for 2N×2N, 2N×N, and N×2N are“1”, “01”, and “001”, respectively.

The CU prediction mode decoding unit 1011 may perform a decoding processin accordance with the binarization information described above, byusing different contexts for the respective bin positions in the prefixportion and the suffix portion.

If different contexts are used for the respective bin positions in theprefix portion and the suffix portion, a total of eight contexts areused as follows.

Since a bin of up to 3 bits is defined in the prefix portion, the numberof contexts is three.

For the suffix portion, first, one context is used for 2N×2N and N×N.Then, two contexts are used for landscape-oriented partitions (2N×N,2N×nU, and 2N×nD), and two contexts are used for portrait-orientedpartitions (N×2N, nL×2N, and nR×2N).

[1-3] Configuration for Decoding Short Code of Intra CU in Small Size CU

The CU prediction mode decoding unit 1011 may be configured to decode ashort code of an intra CU in a small size CU. The small size CU is a CUhaving a size less than or equal to a predetermined value. In thefollowing, by way of example, the small size CU is a CU having an 8×8size.

Example Configuration 1-3-1

The binarization information stored in the binarization informationstorage unit 1012 may have a configuration as illustrated in FIG. 8.FIG. 8 illustrates another example configuration of the 8×8 CU 1012A,which is a definition of binarization information. An 8×8 CU 1012A_1illustrated in FIG. 8 is another example configuration of the 8×8 CU1012A included in the association table BT1 illustrated in FIG. 7.

As illustrated in FIG. 8, in the 8×8 CU 1012A_1, which is a definitionof binarization information, a short code is assigned to an intra CU fora CU having an 8×8 size, which is a small size CU.

In the 8×8 CU 1012A_1 illustrated in FIG. 8, a shorter code than a codeassigned to an intra CU for a large size CU is assigned (see the non-8×8CU 1012B in FIG. 7). The term “large size CU” refers to a CU that is anon-small size CU, and refers to, specifically, a CU having a sizelarger than an 8×8 size.

In the 8×8 CU 1012A_1, furthermore, a code assigned to an intra CU isshorter than a code assigned to an inter CU. In other words, in CUshaving the same size, a shorter code is assigned to an intra CU than toany other PU partition type other than an intra CU.

For example, in the 8×8 CU 1012A_1, a 1-bit code is assigned to an intraCU, and a 2-bit or 3-bit code is assigned to an inter CU.

Intra prediction of small CUs tends to be applied to a region whereinter prediction is less reliable. For this reason, small CUs have ahigh usage rate of intra CU. In the example configuration illustrated inFIG. 7, a long code is assigned to an intra CU. In contrast, in the dataconfiguration described above, short codes are assigned to intra CUshaving a small size.

Accordingly, the CU prediction mode decoding unit 1011 decodes shortcodes for intra CUs having a small size in a region for which interprediction is less reliable. This achieves the advantage of improvedcoding efficiency.

In the configuration described above, preferably, the CU prediction modedecoding unit 1011 sets different contexts for the prefix portion of alarge size CU and the prefix portion of a small size CU.

Accordingly, the context storage unit 1013 may store an 8×8 CU prefix1013A, which is a context for decoding the prefix portion of a largesize CU, and a non-8×8 CU prefix 1013B, which is a context for decodingthe prefix portion of a small size CU. The 8×8 CU prefix 1013A and thenon-8×8 CU prefix 1013B are different contexts.

The meaning of the bins in the prefix portion is different between asmall size CU (CU==8×8) and a large size CU (CU>8×8).

For example, for a small size CU, the first bit of the prefix portion isinformation indicating whether the CU prediction type is intra CU orinter CU. For a large size CU, however, the first bit of the prefixportion is information indicating whether the CU prediction type is2N×2N inter CU or other inter CU.

Bins having different meanings have-different tendencies to appear. Ifthe same context is set for the prefix portion for a large size CU andthe prefix portion for a small size CU, the tendency for the bins toappear differs. This may cause a reduction in coding efficiency.

According to the configuration described above, allows differentcontexts may be set for bins having different tendencies to appear.Accordingly, the coding efficiency of bins may be improved.

Example Configuration 1-3-2

The binarization information stored in the binarization informationstorage unit 1012 may also have a configuration as illustrated in FIG.9. FIG. 9 illustrates another example configuration of the 8×8 CU 1012A,which is a definition of binarization information. An 8×8 CU 1012A_2illustrated in FIG. 9 is another example configuration of the 8×8 CU1012A included in the association table BT1 illustrated in FIG. 7.

In the 8×8 CU 1012A_2 illustrated in FIG. 9, a bin sequence has threeportions, namely, a flag, a prefix portion, and a suffix portion.

For the intra CU, the flag is “1”. For the inter CU, the flag is “0”.

For the intra CU, only the suffix portion is defined. Specifically, thesuffix portion is “0” for the PU partition type of 2N×2N, and the suffixportion is “1” for the PU partition type of N×N.

For the inter CU, on the other hand, only the prefix portion is defined.Specifically, the prefix portions for 2N×2N, 2N×N, and N×2N are “1”,“01”, and “00”, respectively.

In the 8×8 CU 1012A_2 illustrated in FIG. 9, similarly to the 8×8 CU1012A_1 illustrated in FIG. 8, a shorter code is assigned to a largesize CU than a code assigned to an intra CU, and the code assigned to anintra CU is shorter than the code assigned to an inter CU.

The 8×8 CU 1012A_2 having the configuration illustrated in FIG. 9 allowsthe CU prediction mode decoding unit 1011 to decode short codes forintra CUs having a small size in a region for which inter prediction isless reliable. This achieves the advantage of improved codingefficiency.

In the configuration described above, preferably, a specific context,which is different from the contexts set for the prefix portion and thesuffix portion, is set for the flag. Preferably, furthermore, the samecontext is set for the prefix portion of a small size CU and the prefixportion of a large size CU.

For example, the context storage unit 1013 may store a single contextinto which the 8×8 CU prefix 1013A and the non-8×8 CU prefix 1013B areintegrated.

The configuration described above is designed such that individual binshave the same meaning between the prefix portion of a small size CU andthe prefix portion of a large size CU. Accordingly, the same context isset for both CUs, enabling an improvement in the coding efficiency ofbins.

[Operations and Effects]

The present invention may also be expressed in the following form. Animage decoding device according to an aspect of the present invention isan image decoding device for decoding information for restoring an imagefrom encoded image data for each coding unit to restore an image. Theimage decoding device includes decoding means for decoding codesassigned to combinations of sizes of prediction units and predictionschemes to be applied to the coding units, the decoding means decoding ashorter code for a combination of a coding unit with a size less than orequal to a predetermined value and a prediction scheme for intra-frameprediction, than codes assigned to combinations other than thecombination.

Thus, it is possible to assign a short code to a combination having ahigh probability of occurrence in coding units having a size less thanor equal to a predetermined value. This achieves the advantage ofimproved coding efficiency.

[1-4] Configuration for Modifying the Interpretation of Bin Sequences inAccordance with Neighboring Prediction Parameters

The CU prediction mode decoding unit 1011 may be configured to modifythe interpretation of bin sequences by referring to predictionparameters allocated to neighboring regions.

Example Configuration 1-4-1

The binarization information stored in the binarization informationstorage unit 1012 may have a configuration as illustrated in FIG. 10.

FIG. 10 is a diagram illustrating still another example configuration ofthe binarization information stored in the binarization informationstorage unit 1012.

A binarization information association table BT20 illustrated in FIG. 10is configured such that the interpretation of bin sequences is madedifferent in accordance with the values of the prediction parameters ofneighboring regions by replacing the 8×8 CU 1012A illustrated in FIG. 7with an inter CU definition (1012D) and an intra CU definition (1012C).

Specifically, the association table BT20 is configured such that adefinition of a small size CU has different interpretations of binsequences between the inter CU 1012D, which is a binarizationinformation definition in a case that at least one of neighboring CUs isan inter CU, and the intra CU 1012C, which is a binarization informationdefinition in a case that both neighboring CUs are intra CUs.

In the inter CU 1012D (in a case that at least one of neighboring CUs isan inter CU), the target CU is interpreted as an intra CU (2N×2N or N×N)for the bin sequence “000” in the prefix portion, and the target CU isinterpreted as a 2N×2N inter CU for the bin sequence “1” in the prefixportion.

In the intra CU 1012C (in a case that both neighboring CUs are intraCUs), the target CU is an intra CU (2N×2N or N×N) for the bin sequence“1” in the prefix portion, and the target CU is a 2N×2N inter CU for thebin sequence “000” in the prefix portion.

If neighboring CUs are intra CUs, the target CU can also possibly be anintra CU in terms of spatial correlation. Accordingly, if neighboringCUs are intra CUs, short codes are assigned to the intra CUs, resultingin a reduction in the amount of coding.

In addition, a small size CU has a high frequency of occurrence of anintra CU. Accordingly, a short code is assigning to an intra CU in asmall size CU, leading to further improvement in coding efficiency.

In contrast, as illustrated in FIG. 10, a CU other than a small size CU(for example, a large size CU) may not necessarily have a configurationfor “assigning a short code to an intra CU in a case that bothneighboring CUs are intra”. Which CU size the configuration for“assigning a short code to an intra CU in a case that both neighboringCUs are intra” is employed for may be based on the frequency ofoccurrence of an intra CU. In general, an intra CU tends to be morefrequently selected for a CU having a smaller size. Thus, preferably, ashort code is assigned to an intra CU for a CU having a size less thanor equal to a predetermined value (for example, 16×16) including a CUhaving the minimum size. In this configuration, if neighboring CUs areintra CUs, the CU prediction mode decoding unit 1011 refers to the intraCU 1012C, and assigns short codes to the intra CUs. If neighboring CUsinclude an inter CU, the CU prediction mode decoding unit 1011 refers tothe inter CU 1012D, and assigns a short code to the inter CU. As aresult, the amount of coding may be reduced to improve codingefficiency.

Example Configuration 1-4-2

The binarization information stored in the binarization informationstorage unit 1012 may have a configuration as illustrated in FIG. 11.

FIG. 11 is a diagram illustrating still another example configuration ofthe binarization information stored in the binarization informationstorage unit 1012.

A binarization information association table BT30 illustrated in FIG. 11is configured such that the interpretation of bin sequences is madedifferent in accordance with the values of the prediction parameters ofneighboring regions by replacing the non-8×8 CU 1012B illustrated inFIG. 7 with a definition (1012B_1) “in which an upper CU has a sizegreater than or equal to the target CU” and a definition (1012B_2) “inwhich an upper CU has a size less than the target CU”.

Specifically, the association table BT30 is configured such that adefinition of a large size CU has different interpretations of binsequences between the case that an upper neighboring CU has a sizegreater than or equal to the target CU and the case that an upperneighboring CU has a size less than the target size.

In the definition 1012B_1 “in which an upper CU has a size greater thanor equal to the target CU” (in a case that an upper neighboring CU has asize greater than or equal to the target CU), the target CU isinterpreted as being of a portrait-oriented partition for the binsequence “001” in the prefix portion, and the target CU is interpretedas being of a landscape-oriented partition for the bin sequence “01” inthe prefix portion.

In the definition 1012B_2 “in which an upper CU has a size less than thetarget CU” (in a case that an upper neighboring CU has a size less thanthe target CU), on the other hand, the target CU is interpreted as beingof a portrait-oriented partition for the bin sequence “01” in the prefixportion, and the target CU is interpreted as being of alandscape-oriented partition for the bin sequence “001” in the prefixportion.

If a neighboring CU has a size smaller than the target CU, it isprobable that an edge is present in the neighboring CU.

In this case, it is probable that the target CU is split into partitionsin a direction perpendicular to the side corresponding to the boundarybetween the target CU and the neighboring CU. Accordingly, if an upperneighboring CU has a size less than the target CU, it is probable that aportrait-oriented partition will be selected.

Thus, if an upper neighboring CU has a size less than the target CU, ashort code is assigned to the portrait-oriented partition that canprobably be selected. Accordingly, coding efficiency may be improved.

According to the configuration described above, if an upper neighboringCU has a size less than the target CU, the CU prediction mode decodingunit 1011 refers to the definition 1012B_2 “in which an upper CU has asize less than the target CU”, and assigns a short code to aportrait-oriented partition.

If an upper neighboring CU has a size greater than or equal to thetarget CU, on the other hand, the CU prediction mode decoding unit 1011refers to the definition 1012B_1 “in which an upper CU has a sizegreater than or equal to the target CU”, and assigns a short code to alandscape-oriented partition. As a result, the amount of coding may bereduced to improve coding efficiency.

In addition, preferably, the suffix portions have the sameinterpretation without depending on the interpretation of the prefixportion based on neighboring CUs. In the association table BT30, theinterpretation of the same suffix portion is the same regardless ofwhether the prefix portion represents a portrait-oriented partition or alandscape-oriented partition. In an example of the association tableBT30, thus, the decoding process for the suffix portions may notnecessarily be changed depending on whether the prefix portionrepresents a portrait-oriented partition or a landscape-orientedpartition.

In other words, the association table BT30 is configured such that thePU partition type (the number of splits) does not depend on theparameter to be referred to.

Since the number of splits does not depend on the value of the parameterto be referred to, an error in the reference parameter will have smalleffect on the subsequent variable length decoding processes.Specifically, even in a case that erroneous size of a neighboring CUcauses wrong interpretation of which of a portrait-oriented partitionand a landscape-oriented partition the prefix portion represents, thesubsequent syntax elements including the suffix portions may becontinuously decoded.

That is, the decoding process for the suffix portion is possibleregardless of the size of neighboring CUs. Thus, the decoding process isless affected by neighboring parameter error, increasing errorrobustness.

If a left neighboring CU has a size smaller than the target CU, it isprobable that a landscape-oriented partition will be selected.Accordingly, if a left neighboring CU has a size smaller than the targetCU, a short code may be assigned to the landscape-oriented partitionthat can probably be selected. Accordingly, advantages similar to thosedescribed above may be achieved.

In addition, preferably, the switching of interpretation based on thesize of neighboring CUs is not performed on a minimum size CU. If thetarget CU is a minimum size CU, the size of the target CU is always lessthan or equal to that of neighboring CUs. The omission of the process ofswitching interpretation may simplify decoding processes.

The term “upper neighboring CU has a size less than the target CU” canalso mean that a CU boundary having a vertical positional relationshipwith an upper side (except for the topmost vertex) of the target CU ispresent at the upper side.

Accordingly, in a case that a CU boundary or PU boundary having avertical positional relationship with an upper side (except for thetopmost vertex) of the target CU is present at the upper side, a shortcode may be assigned to a portrait-oriented partition.

While a description has been made of neighboring CUs adjacent to thetarget CU, the present invention is limited thereto. The above similarlyapplies to a CU located as near as spatial correlation could berecognized.

The configuration described above is generalized as follows. In theconfiguration described above, for a set of binary sequences, and for aset of pred_type each associated with the same number of partitions,priorities are set for pred_type in terms of the possibility ofoccurrence of pred_type in accordance with neighboring predictionparameters, and pred_type with higher priority is associated with ashorter binary sequence.

In the foregoing description, the condition that the size of an upperneighboring CU is smaller than the size of the target CU may also beexpressed as follows.

(1) The upper left pixel in the target CU is represented by (xc, yc).

(2) An upper neighboring CU including the pixel at (xc, yc−1) isderived, and the upper left pixel in the upper neighboring CU isrepresented by (xu, yu).

(3) If the relationship of “log2CUSize[xu][yu]<log2CUSize[xc][yc]” holdstrue, it is determined that the size of the upper neighboring CU issmaller than the size of the target CU, where log2CUSize[x][y] is alogarithmic value with a base of 2 of the size of the CU in which theupper left pixel is the pixel at (x, y).

Preferably, the determination described above is based on the comparisonbetween only the size of the CU located above the upper left pixel inthe target CU and the size of the target CU.

While a description has been given of an upper neighboring CU, the sizeof a left neighboring CU may be determined. In this case, preferably,only the size of the CU located to the left of the upper left pixel inthe target CU is compared with the size of the target CU.

In the determination step (3), by way of example, the values of the CUsizes are directly compared with each other. Other values associatedwith the CU sizes may be compared with each other. For example, thecondition in the determination step (3) may be determined using thevalues of a CU partition depth (cuDepth[x][y]) indicating the number oftimes the tree block (LCU) is partitioned, in accordance with theformula “cuDepth[xu][yu]>cuDepth[xc][yc]”.

[Operations and Effects]

The present invention may also be expressed in the following form. Animage decoding device according to an aspect of the present invention isan image decoding device for restoring an image by generating aprediction image for each of prediction units obtained by splitting acoding unit into one or more partitions. The image decoding deviceincludes changing means for changing a plurality of codes associatedwith a plurality of combinations of partition types and predictionschemes, the partition types being types in which a target coding unitthat is a coding unit to be decoded is split into the prediction units,in accordance with a decoded parameter allocated to a decoded predictionunit near a target prediction unit that is a prediction unit to bedecoded.

Thus, it is possible to assign a shorter code to a combination ofprediction scheme and partition type having a higher probability ofoccurrence in accordance with a decoded parameter allocated to a nearbydecoded prediction unit. Accordingly, coding efficiency may be improved.

(2) Details of PU Information Decoding Unit

Next, an example configuration of the PU information decoding unit 12and the decoding module 10 will be described with reference to FIG. 12.FIG. 12 is a functional block diagram exemplifying a configuration fordecoding motion information in the video decoding device 1, that is, theconfiguration of the PU information decoding unit 12 and the decodingmodule 10.

The configuration of the individual components in the PU informationdecoding unit 12 and the decoding module 10 will be describedhereinafter in this order.

(PU Information Decoding Unit)

As illustrated in FIG. 12, the PU information decoding unit 12 includesa motion compensation parameter derivation unit (bi-predictionrestriction means, candidate determining means, estimating means) 121, amerge candidate priority information storage unit 122, and a referenceframe setting information storage unit 123.

The motion compensation parameter derivation unit 121 derives motioncompensation parameters for each of the PUs included in the target CUfrom the encoded data.

Specifically, the motion compensation parameter derivation unit 121derives motion compensation parameters using the following procedure. Ifthe target CU is a skip CU, a skip index may be decoded instead of amerge index, and prediction parameters in the skip CU may be derivedbased on the value of the decoded skip index.

First, the motion compensation parameter derivation unit 121 determinesa skip flag. As a result of the determination, if the target CU is anon-skip CU, the motion compensation parameter derivation unit 121decodes a merge flag using a motion information decoding unit 1021.

If the target CU is a skip CU or a merge PU, the motion compensationparameter derivation unit 121 decodes a merge index to derive predictionparameters (motion vector, reference image index, inter prediction flag)on the basis of the value of the decoded merge index. Note that themotion compensation parameter derivation unit 121 determines mergecandidates to be specified by the merge index, in accordance with mergecandidate information stored in the merge candidate priority informationstorage unit 122.

If the target CU is not a skip CU or a merge PU, the motion compensationparameter derivation unit 121 decodes prediction parameters (interprediction flag, reference image index, motion vector difference, motionvector predictor index).

Furthermore, the motion compensation parameter derivation unit 121derives an estimated motion vector on the basis of the value of themotion vector predictor index, and also derives a motion vector on thebasis of the motion vector difference and the estimated motion vector.

The merge candidate priority information storage unit 122 stores mergecandidate information. The merge candidate information includesinformation indicating regions designated as merge candidates andinformation indicating the priorities of the merge candidates.

The reference frame setting information storage unit 123 storesreference frame setting information for determining which inter-frameprediction scheme will be used among a uni-prediction scheme in whichone reference image is referred to and a bi-prediction scheme in whichtwo reference images are referred to.

(Decoding Module)

As illustrated in FIG. 12, the decoding module 10 includes the motioninformation decoding unit 1021. The motion information decoding unit1021 decodes a syntax value, in accordance with the encoded data andsyntax type supplied from the motion compensation parameter derivation,unit 121, from a binary representation included in the encoded data. Themotion compensation parameters decoded by the motion informationdecoding unit 1021 include a merge flag (merge_flag), a merge index(merge_idx), a motion vector predictor index (mvp_idx), a referenceimage index-(ref_idx), an inter prediction flag (inter_pred_flag), and amotion vector difference (mvd).

[Example Configuration for Deriving Prediction Parameters in Merge PU]

[2-1] Example of Positions and Priorities of Merge Candidates

The derivation of prediction parameters in a merge PU will be describedwith reference to FIG. 13 to FIG. 15.

In a case that the PU partition type is asymmetric, the motioncompensation parameter derivation unit 121 may be configured todetermine the priorities of merge candidates using a method differentfrom that in a case that the PU partition type is symmetric.

First, a description will be given of the characteristics of asymmetricpartitions. Of the asymmetric partitions, a smaller partition canpossibly include an edge extending in the longitudinal direction. Inaddition, it is probable that accurate motion vectors will have beenderived in a region including an edge.

A specific description will now be given with reference to FIG. 13. FIG.13 illustrates a CU for which an asymmetric partition has been selected.As illustrated in FIG. 13, in a target CU 30, an edge E1 having aninclination is present in a region, and the 2N×nU PU partition type hasbeen selected.

The target CU includes a PU 31 and a PU 32. Here, the target PU is thePU 31. The edge E1 having an inclination crosses the region of thetarget PU 31.

In the example illustrated in FIG. 13, it is probable that the same edgeas the edge present in the region of the target PU 31 will be present inregions R10 near the short sides of the target PU 31. Thus, it isprobable that the same motion vector (mv) as that for the target PU 31will have been allocated to the regions R10.

Accordingly, in a region possibly including an edge, that is, in thesmaller partition, motion vectors allocated to regions near the shortsides of the region are referred to, whereas, in the larger partition,motion vectors allocated to regions around the smaller partition arereferred to. Thus, the accuracy of motion vectors may be increased.

The merge candidate priority information stored in the merge candidatepriority information storage unit 122 is configured to include two typesof merge candidate priority information, namely, merge candidatepriority information on a symmetric PU partition type 122A and mergecandidate priority information on an asymmetric PU partition type 122B.

The merge candidate priority information on the symmetric PU partitiontype 122A will now be described with reference to FIG. 14.

FIG. 14 illustrates a CU for which a symmetric partition has beenselected. As illustrated in FIG. 14, the 2N×N PU partition type has beenselected for a symmetric CU. In FIG. 14, the target PU is represented by“Curr PU”. Priorities are assigned to merge candidates for the targetPU, in the order of left (L), upper (U), upper right (UR), bottom left(BL), and upper left (UL) merge candidates.

The merge candidate priority information on the asymmetric PU partitiontype 122B will be described hereinafter with reference to FIG. 15. Parts(a) and (b) of FIG. 15 illustrate the setting of the priorities for thesmaller partition in 2N×nU and the larger partition in 2N×nU,respectively. Parts (c) and (d) of FIG. 15 illustrate the setting of thepriorities for the larger partition in 2N×nD and the smaller partitionin 2N×nD, respectively.

For the smaller partition in the asymmetric partitions, as illustratedin parts (a) and (d) of FIG. 15, high priorities are assigned to mergecandidates near the short sides of the smaller partition.

Specifically, priorities are assigned to merge candidates for thesmaller PUs in 2N×nU and 2N×nD, as illustrated in parts (a) and (d),respectively, in the order of those adjacent to the short sides (L),adjacent to the vertices (UR, BL, UL), and adjacent to the long sides(U).

For the larger partition in the asymmetric partitions, as illustrated inparts (b) and (c) of FIG. 15, higher priorities are assigned to mergecandidates located near the smaller partition.

Specifically, priorities are assigned to merge candidates for the largerPU in 2N×nU, as illustrated in part (b) of FIG. 15, in the order of amerge candidate (U) in the smaller PU, merge candidates (UR, UL) nearthe smaller PU, and the other merge candidates (L, BL).

Further, for the larger PUs in 2N×nD, as illustrated in part (c) of FIG.15, priorities are assigned to merge candidates in the order of mergecandidates (L, BL) near the smaller PU and the other merge candidates(U, BL, UL).

Note that a candidate having a high priority is assigned a low mergeindex, and a short code is assigned to a low merge index. Onlycandidates having high priorities may be designated as selectable mergecandidates.

While a description has been made of the derivation of predictionparameters in a merge PU, a similar derivation method may be used forthe derivation of estimated motion vectors to be used to restore motionvectors for non-merge PUs in an inter CU. In general, the methoddescribed above may be applicable to the derivation of, for each PU inasymmetric PUs, the estimated values or predicted values of motionparameters corresponding to neighboring regions.

[Operations and Effects]

The present invention may also be expressed in the following form. Animage decoding device according to an aspect of the present invention isan image decoding device for restoring an image by generating aprediction image using an inter-frame prediction scheme for each ofprediction units obtained by splitting a coding unit into one or morepartitions. Partition types in which a coding unit is split into theprediction units include an asymmetric partition in which a coding unitis split into a plurality of prediction units having different sizes ora symmetric partition in which a coding unit is split into a pluralityof prediction units having the same size. The image decoding deviceincludes estimating means for estimating a prediction parameter forinter-frame prediction using, in a case that the partition type is anasymmetric partition, an estimation method different from an estimationmethod in a case that the partition type is a symmetric partition.

Thus, the following advantage may be achieved: different estimationmethods are used for the case that the partition type is an asymmetricpartition and the case that the partition type is a symmetric partition,allowing prediction parameters for inter-frame prediction to beestimated using a desired estimation method in accordance with thepartition type.

[2-2] Change of Merge Candidates Using Combination of CU Size andSkip/Merge

The motion compensation parameter derivation unit 121 may be configuredto change merge candidates in accordance with a combination of a CU sizeand a CU type, namely, whether or not the CU of interest is a CU toskip/merge. Accordingly, the merge candidate information stored in themerge candidate priority information storage unit 122 is configured toinclude two types of definition information, namely, definitioninformation on a small PU size 122C and definition information on alarge PU size 122D.

The merge candidate information on the small PU size 122C defines thenumber of merge candidates to be applied to a small size PU. The mergeinformation on the large PU size 122D defines the number of mergecandidates to be applied to a large size PU.

As an example, merge candidate information has a definition in which thenumber of merge candidates (the number of merge candidates of a smallsize PU) defined for the small PU size 122C is smaller than the numberof merge candidates (the number of merge candidates of a large size PU)defined for the large PU size 122D.

A region where a small size PU is selected generally includes complexmotion. Thus, the motion vectors allocated to neighboring PUs of such aregion tend to have low correlations with each other.

This tendency may result in less improvement in estimation accuracy thanthat in the case of a large size PU even if the number of mergecandidates increases.

Thus, preferably, the number of merge candidates is reduced to reducethe amount of coding of side information.

In the example described above, in the merge candidate information, thenumber of merge candidates of a small size PU generally includingcomplex motion is smaller than the number of merge candidates of a largesize PU. Thus, the amount of coding of side information may be reduced.

Examples of combinations of small size PUs and large size PUs are asfollows.

-   -   A small size PU is a PU having sides at least one of which is        smaller than a predetermined threshold value (for example, 8),        and a large size PU is a PU other than that PU. For example, PUs        with 16×4, 4×16, 8×4, 4×8, and 4×4 sizes are small size PUs, and        PUs with 8×8 and 16×16 sizes are large size PUs.    -   A small size PU is a PU having an area smaller than a        predetermined threshold value (for example, 64), and a large        size PU is a PU other than that PU. For example, PUs with 8×4,        4×8, and 4×4 sizes are small size PUs, and PUs with 8×8, 16×4,        4×16, 16×16, and similar sizes are large size PUs.    -   A small size PU is a PU included in a CU having a size less than        or equal to a predetermined value (for example, 8×8), and a        large size PU is a PU included in a larger CU. For example, PUs        with 8×8, 8×4, 4×8, and 4×4 sizes included in an 8×8 CU are        small size PUs.    -   A small size PU is a smaller PU in a CU to which an asymmetric        partition is adapted, and a large size PU is a larger PUs in a        CU to which an asymmetric partition is adapted.

As another example, in the merge candidate information, the number ofmerge candidates based on temporal prediction for a small PU ispreferably smaller than the number of merge candidates based on temporalprediction for a large PU; The merge candidate information may bedefined as not including merge candidates based on temporal predictionfor a small PU.

In a region with complex motion where a small size PU is selected, thecorrelation between a collocated PU used for temporal prediction and atarget PU is low. Thus, it is less probable that temporal predictionwill be selected for such a region. Accordingly, it is preferable thatthe number of merge candidates based on temporal prediction be reducedor merge candidates based on temporal prediction not be included.

[Operations and Effects]

The present invention may also be expressed in the following form. Animage decoding device according to an aspect of the present invention isan image decoding device for restoring an image by generating aprediction image using an inter-frame prediction scheme for each ofprediction units obtained by splitting a coding unit into one or morepartitions. The image decoding device includes candidate determiningmeans for determining a candidate in a region to be used for estimationin accordance with a size of a target prediction unit, which is aprediction unit to be decoded, in a case that the target prediction unitis a prediction unit in which a prediction parameter of the targetprediction unit is estimated from a prediction parameter allocated to aneighboring region of the target prediction unit.

Thus, it is possible to reduce side information by reducing the numberof candidates, and, as a result, to improve coding efficiency.

[2-3] Determination of Number of Reference Frames

The motion compensation parameter derivation unit 121 may determinewhich prediction scheme out of uni-prediction and bi-prediction to applyin inter prediction, by referring to the reference frame settinginformation stored in the reference frame setting information storageunit 123.

The motion compensation parameter derivation unit 121 may be configuredto restrict bi-prediction for a small size PU. Accordingly, thereference frame setting information is configured to include two typesof definition information, namely, definition information on a small PUsize 123A and definition information on a large PU size 123B.

A prediction scheme selectable for a large size PU is defined in thelarge PU size 123B. The large PU size 123B has a definition in whicheither prediction scheme out of bi-prediction and uni-prediction can beselected for a large size PU without any restriction.

A prediction scheme selectable for a small size PU is defined in thesmall PU size 123A. The small PU size 123A has a definition in whichbi-prediction is restricted for a small size PU.

An example of the definition of the small PU size 123A is as follows.Uni-prediction is applied, without the inter prediction flag beingdecoded, to a PU not to merge in an inter CU, the PU having a size lessthan 16×16.

Another example of the definition of the small PU size 123A is asfollows. Uni-prediction is applied to a PU to merge in an inter CU, thePU having a size less than 16×16.

Still another example of the definition of the small PU size 123A is asfollows. Uni-prediction is applied to each of PUs included in a skip CU.

Still another example of the definition of the small PU size 123A is asfollows. Weighted prediction is not applied to a PU not to merge in aninter CU, the PU having a size less than 16×16. That is, informationconcerning weighted prediction is omitted.

The details of the configuration of encoded data and the configurationof the video decoding device in a case that bi-prediction is restrictedon the basis of reference frame setting information will be describedhereinafter with reference to a syntax table and a block diagram.

(Types of Bi-Prediction Restriction)

PU types include a PU in which the target CU is skip (skip PU), a PU forwhich a merge is adapted to the target PU (merge PU), and a PU for whichthe target PU is not skip or merge (basic inter PU or non-motioninformation omitted PU). For a basic inter PU, an inter prediction flagindicating bi-prediction or uni-prediction is decoded from encoded datato derive motion compensation parameters. For a skip PU and a merge PU,on the other hand, motion compensation parameters are derived withoutdecoding the inter prediction flag. For these PUs, a candidate used formotion compensation is selected from among skip candidates or mergecandidates on the basis of the skip index or the merge index to derivemotion compensation parameters for the target PU on the basis of themotion compensation parameters for the selected candidate. In general,motion compensation parameters for the skip PU may be derived using amethod similar to that for the merge PU. If the use of merge isrestricted using a flag in the sequence parameter set or the like, thesame method as that for the basic inter PU, except that the motionvector difference (mvd) is not decoded, may be used. In this case, thebi-prediction restriction operation for the skip PU is the same as thatfor the basic inter PU.

Part (a) of FIG. 35 illustrates examples of bi-prediction restrictionfor each PU. The examples of bi-prediction restriction includebi-prediction restriction only on the basic inter PU and bi-predictionrestriction on all the PUs to which motion compensation prediction isapplied. In the case of bi-prediction restriction only on the basicinter PU, the restriction of bi-prediction is not imposed on the skip PUor the merge PU but the restriction of bi-prediction is imposed only onthe basic inter PU. The amount of processing imposed on a video encodingdevice and a video decoding device and the size of their circuitry maybe reduced for both bi-prediction restriction only on the basic inter PUand bi-prediction restriction on all the PUs.

Part (b) of FIG. 35 illustrates bi-prediction restriction methods forthe respective PUs. The prediction of bi-prediction is imposed on theskip PU and the merge PU by the derivation of information indicatingthat bi-prediction is not applied to the derivation of motioncompensation parameters based on skip candidates or merge candidates.Specifically, as described below with reference to a motion compensationparameter derivation unit, the restriction of bi-prediction is imposedby the conversion of the value of the inter prediction flag included inthe motion compensation parameters from bi-prediction to uni-prediction.In order to impose the restriction of bi-prediction on the basic interPU, whether or not to apply the restriction of bi-prediction isdetermined in accordance with the PU size information. If therestriction of bi-prediction is not applied, the inter prediction flagis decoded. If the restriction of bi-prediction is applied, the decodingof the inter prediction flag is omitted. Furthermore, the process forestimating the value of the inter prediction flag as uni-predictive isperformed.

The PU size information is information for determining whether the PU ofinterest is a small PU, and may include the size of the target CU andthe PU partition type, the size of the target CU and the number of PUpartitions, the PU width or height, the area of the PU, or the like.

The skip PU and the merge PU are different from the basic inter PU inthe method for decoding the motion compensation parameters as well asthe situations in which the PUs are used. For the skip PU and the mergePU, the amount of coding is reduced by the restriction of selectablemotion compensation parameters. Such PUs are mainly used in a regionwith uniform motion. Uniform motion is likely to have a large noiseremoval effect created by bi-prediction because two prediction imagesare close to each other. For this reason, the skip PU and the merge PUwould be more likely to experience a reduction in coding efficiency dueto the restriction of bi-prediction than the basic inter PU, compared tothe restriction of bi-prediction for the basic inter PU. Accordingly, asdescribed above, the restriction that bi-prediction is used only for abasic inter PU may be preferable. In addition, as described below, thePU size to be limited may be changed between the basic inter PU and theskip and merge PUs. In view of the structure of encoded data, therestriction of bi-prediction for the basic inter PU is more effective interms of reducing the amount of coding because the inter prediction flagis not encoded.

(Details of Inter Prediction Flag)

The details of the inter prediction flag will now be described. Theinter prediction flag inter_pred_flag may be a binary flag indicatinguni-prediction or bi-prediction, or may be a flag further includinginformation for selecting a list of reference images (reference list) tobe referred to in uni-prediction from among a plurality of referencelists. For example, the inter prediction flag may be defined as aternary flag including a flag for selecting one of two reference lists(L0 list and L1 list). The individual cases will be describedhereinafter.

The decoding module 10 decodes a combined list flagref_pic_list_combination_flag for selecting whether to use the L0 or L1list or the combined list (LC list) as a reference frame list from theslice header or the like. The method for determining the reference framefor uni-prediction differs depending on the value of the combined listflag. If the combined list flag is equal to 1, the combined list LC isused as a reference list to be used to specify a uni-predictivereference frame, and a flag for specifying a reference list for each PUis not needed. The inter prediction flag inter_pred_flag may thus be abinary flag. If the combined list flag is equal to 0, it is necessary toselect a reference list from the L0 list or the L1 list for each PU.Thus, the inter prediction flag inter_pred_flag is a ternary flag.

Part (a) of FIG. 32 illustrates the meaning of an inter prediction flagin a case that the inter prediction flag is a binary flag. Part (b) ofFIG. 32 illustrates the meaning of an inter prediction flag in a casethat the inter prediction flag is a ternary flag.

(Example of Syntax Table for Bi-Prediction Restriction)

FIG. 31 illustrates an example of a PU syntax table in the related art,and illustrates the configuration of encoded data in a case that norestriction of bi-prediction is performed. FIG. 33 illustrates anexample of a PU syntax table, in which parts (a) and (b) illustrate theconfiguration of encoded data in a case that restriction ofbi-prediction is performed, and specifically illustrate the portion ofthe inter prediction flag inter_pred_flag. Part (a) of FIG. 33illustrates an example of the syntax table in a case that the interprediction flag is always a binary flag. In this case, two portions,namely, Pred_LC, which means uni-prediction, and Pred_Bi, which meansbi-prediction, are identified from each other by interpred_flag. If theslice is a B slice and bi-prediction is active (DisableBiPred=false),the encoded data includes the inter prediction flag inter_pred_flag inorder to identify uni-prediction and bi-prediction from each other. Ifbi-prediction is not active (DisableBiPred=true), the encoded data doesnot include the inter prediction flag inter_pred_flag becauseuni-prediction is always enabled.

Part (b) of FIG. 33 illustrates an example of a syntax table in a casethat the inter prediction flag is a ternary flag. If a combined list isused, two types, namely, Pred_LC, which means uni-prediction in whichone reference frame in an LC list is used, and Pred_Bi, which meansbi-prediction, are identified from each other by inter_pred_flag.Otherwise, three types, namely, Pred_L0, which means uni-prediction withthe L0 list, Pred_L1, which means uni-prediction with the L1 list, andPred_Bi, which means bi-prediction, are identified from one another. Ifthe slice is a B slice and bi-prediction is active(DisableBiPred=false), the encoded data includes a first interprediction flag inter_pred_flag0 for specifying uni-prediction andbi-prediction. If bi-prediction is not active, only in a case that acombined list is not used, the encoded data includes a second interprediction flag inter_pred_flag1 for specifying uni-prediction andbi-prediction to specify a reference list. The case that a combined listis not used is determined specifically using !UsePredRefLC &&!NoBackPredFlag, as illustrated in part (a) of FIG. 33. That is, thedetermination is based on a flag UsePredRefLC (indicating that acombined list is used if the value of UsePredRefLC is true) specifyingwhether or not to use a combined list, and a flag NoBackPredFlag(indicating that backward prediction is not used if the value ofNoBackPredFlag is true) specifying whether or not to use backwardprediction. If a combined list is used, the use of a combined list isdetermined without list selection. No use of backward prediction meansthe disabling of Pred_L1. In this case, it may be determined that thelist used also when the second inter prediction flag inter_pred_flag1 isnot encoded is the combined list (Pred_LC) or the L0 list (Pred_L1). Theexpression “NoL1PredFlag”, which means no use of the L1 list, may beused instead of NoBackPredFlag.

A threshold value used to determine whether or not to impose therestriction of bi-prediction or to determine the PU size in a case thatthe restriction of bi-prediction is imposed may be included in theencoded data. FIG. 34 illustrates an example of a syntax table forbi-prediction restriction. Part (a) of FIG. 34 illustrates the case thatthe sequence parameter set includes the flag disable_bipred_in_small_PUrestricting whether or not to impose the restriction of bi-prediction.As illustrated in Part (a) of FIG. 34, a flag for the restriction ofbi-prediction may be encoded independently from a flag disable_inter_4×4prohibiting a small size PU (here, a 4×4 size PU). The purpose of theflag prohibiting a small size PU is also to reduce the amount ofworst-case processing to generate a PU prediction image, similarly tothe restriction of bi-prediction. Accordingly, the flag prohibiting asmall size PU and the flag prohibiting small size bi-prediction may beused as a common flag. Part (b) of FIG. 34 illustrates an example inwhich a prediction restriction flag use_restricted_prediction is used asa common flag. In this case, if the prediction restriction flag is true,both the application of small size PU and bi-prediction for small sizePU are simultaneously prohibited. Part (c) of FIG. 34 illustrates anexample in which the encoded data includes disable_bipred_sizeindicating the size of a PU for which bi-prediction is prohibited.disable_bipred_size may be the value of a logarithm with a base of 2 ofa threshold value TH described below in the determination method forbi-prediction restriction, or the like. The flags described above may beencoded using a parameter set other than the sequence parameter set, ormay be encoded using the slice header.

(Motion Compensation Parameter Derivation Unit in Bi-PredictionRestriction)

FIG. 29 illustrates a configuration of the motion compensation parameterderivation unit 121. The motion compensation parameter derivation unit121 includes a skip motion compensation parameter derivation unit 1211,a merge motion compensation parameter derivation unit 1212, a basicmotion compensation parameter derivation unit 1213, a bi-predictionrestricted PU determination unit 1218, and abi-prediction/uni-predictionconversion unit 1219.

The motion compensation parameter derivation unit 121 imposes therestriction of bi-prediction on, particularly, the skip PU and the mergePU, which are PUs in a case that the inter prediction flag is notdecoded.

The skip motion compensation parameter derivation unit 1211 derivesmotion compensation parameters for a skip PU if the target CU is skip,and inputs the derived motion compensation parameters to thebi-prediction/uni-prediction conversion unit 1219. Thebi-prediction/uni-prediction conversion unit 1219 converts the motioncompensation parameters in accordance with a bi-prediction restrictioncondition, and returns the resulting motion compensation parameters tothe skip motion compensation parameter derivation unit 1211. The skipmotion compensation parameter derivation unit 1211 outputs the motioncompensation parameters converted in accordance with the bi-predictionrestriction condition to outside as the motion compensation parametersof the target PU. If the motion compensation parameters are determinedby a skip index, the following configuration may be used: thebi-prediction/uni-prediction conversion unit 1219 may convert each skipcandidate, and the converted skip candidates may be selected using theskip index.

The merge motion compensation parameter derivation unit 1212 derivesmotion compensation parameters of a target PU if the target PU is merge,and inputs the derived motion compensation parameters to thebi-prediction/uni-prediction conversion unit 1219. Thebi-prediction/uni-prediction conversion unit 1219 converts the motioncompensation parameters in accordance with a bi-prediction restrictioncondition, and returns the resulting motion compensation parameters tothe merge motion compensation parameter derivation unit 1212. The mergemotion compensation parameter derivation unit 1212 outputs the motioncompensation parameters converted in accordance with the bi-predictionrestriction condition to outside as the motion compensation parametersof the target PU. If the motion compensation parameters are determinedby the merge index, the following configuration may be used: thebi-prediction/uni-prediction conversion unit 1219 may convert each mergecandidate, and the converted merge candidates may be selected using themerge index.

The basic motion compensation parameter derivation unit 1213 derivesmotion compensation parameters of a target PU if the target PU is notskip or merge, and outputs the derived motion compensation parameters tooutside.

The bi-prediction restricted PU determination unit 1218 refers to the PUsize information on the target PU, and determines whether or not toimpose the restriction of bi-prediction, in which bi-prediction is notused, on the target PU. Whether or not to impose the restriction ofbi-prediction on the skip CU and the merge PU may be determinedindependently from the determination of whether or not to impose therestriction of bi-prediction on the basic inter PU. For example, therestriction of bi-prediction may be imposed using the same PU size as athreshold value for all the PUs, or the restriction of bi-prediction maybe imposed using a larger PU size as a threshold value for the skip PUand the merge PU. Alternatively, the restriction of bi-prediction may beimposed only on the basic inter PU whereas the restriction ofbi-prediction may not be imposed on the skip PU or the merge PU.

In cases where the inter prediction flag is decoded using a skip PU,such as in a case that the use of merge is restricted, whether or not toimpose the restriction of bi-prediction may be determined individuallyfor each of a skip PU, a merge PU, and a basic inter PU.

In the configuration described above, the setting of bi-prediction anduni-prediction, which is set by the skip motion compensation parameterderivation unit 1211, is determined in the bi-prediction/uni-predictionconversion unit 1219 in accordance with the bi-prediction restricted PUdetermination unit 1218. However, the present invention is not limitedto this configuration. For example, the following configuration may beused: a determination result of the bi-prediction restricted PUdetermination unit 1218 may be input directly to the skip motioncompensation parameter derivation unit 1211 to perform the setting ofbi-prediction/uni-prediction.

(Determination Method for Bi-Prediction Restriction)

A preferred example of a method in which the bi-prediction restricted PUdetermination unit 1218 determines whether or not the PU of interest isa small size PU to be subject to bi-prediction restriction will now bedescribed. The determination method is not limited to the followingexample, and other parameters may be used as PU size information.

(Example Determination Method 1)

In example determination method 1, a PU with a size less than TH×TH issubject to bi-prediction restriction, where TH is a threshold value usedto determine a PU size. In this case, a determination formula that usesthe target CU size (here, the CU Width) and the PU partition type is asfollows.

DisableBiPred=((CUWidth==TH&&PUpartitiontype!=2N×2N)∥CUWidth<TH)?true:false

Specifically, the following operation is performed:In the case of TH=16, respective PUs with the sizes of 16×8, 8×16,12×16, 4×16, 16×12, 16×4, 8×8, 8×4, 4×8, and 4×4 are subject tobi-prediction restriction.In the case of TH=8, respective PUs with the sizes 8×4, 4×8, and 4×4 aresubject to bi-prediction restriction.

It is possible to perform determination using parameters other than thetarget CU size and the PU partition type. For example, the followingdetermination may be performed using the number of PU partitionsNumPart.

DisableBiPred=((CUWidth==TH&& NumPart>1)&&CUWidth<TH)?true:false

(Example Determination Method 2)

In example determination method 2, a PU with a size less than or equalto TH×TH is subject to bi-prediction restriction. In this case, adetermination formula is as follows.

DisableBiPred=((CUWidth==2*TH&&PUpartitiontype==N×N)∥CUWidth<2*TH)?true:false

Specifically, the following operation is performed:In the case of TH=16, respective PUs with the sizes of 16×16, 16×8,8×16, 12×16, 4×16, 16×12, 16×4, 8×8, 8×4, 4×8, and 4×4 are subject tobi-prediction restriction. In the case of TH=8, respective PUs with thesizes of 8×8, 8×4, 4×8, and 4×4 are subject to bi-predictionrestriction. In the case of TH=4, PUs with the size of 4×4 are subjectto bi-prediction restriction.

The following determination using the number of PU partitions NumPart isalso possible.

DisableBiPred=((CUWidth==2*TH&& NumPart!=4)∥CUWidth<2*TH)?true:false

In the example described above, different PU sizes (threshold value TH)may be used for the skip PU, the merge PU, and the basic inter PU. Inaddition, as already illustrated in part (c) of FIG. 34, the PU size(threshold value TH) used for determination may be encoded.

The bi-prediction/uni-prediction conversion unit 1219 converts themotion compensation parameters input to the bi-prediction/uni-predictionconversion unit 1219 into those for uni-prediction if the input motioncompensation parameters represent bi-prediction and if the bi-predictionrestricted PU determination unit determines that the skip PU and themerge PU are subject to bi-prediction restriction.

The motion compensation parameters are converted into 1, which indicatesuni-prediction, if the inter prediction flag inter_pred_flag of themotion compensation parameters, which is derived by copying the motioncompensation parameters for a temporally and spatially neighboring PU orderived from a combination of motion compensation parameters for atemporally and spatially neighboring PU, is equal to 2, which indicatesbi-prediction. If an inter prediction flag (internal inter predictionflag) used for internal processing is a flag including 1, whichindicates L0 prediction, 2, which indicates L1 prediction, and 3, whichindicates bi-prediction, the following operation is performed. If theinternal inter prediction flag is equal to 3, the internal interprediction flag is converted into the value 1, which indicates L0prediction, or the value 2, which indicates L1 prediction. Forconversion into L0 prediction, for example, the motion compensationparameters concerning L1 prediction refreshed to zero. For conversioninto L1 prediction, for example, the motion compensation parametersconcerning L0 prediction refreshed to zero.

The bi-prediction/uni-prediction conversion unit 1219 may be implementedas a means included in each of the skip motion compensation parameterderivation unit 1211 and the merge motion compensation parameterderivation unit 1212. The bi-prediction/uni-prediction conversion unit1219 may not necessarily be provided when the restriction ofbi-prediction is imposed only on the basic inter PU.

(Motion Information Decoding Unit for Bi-Prediction Restriction)

FIG. 30 is a block diagram illustrating a configuration of the motioninformation decoding unit 1021. The motion information decoding unit1021 at least includes the inter prediction flag decoding unit 1028. Themotion information decoding unit 1021 imposes the restriction ofbi-prediction on the basic inter PU, which is a PU used to particularlydecode an inter prediction flag. The inter prediction flag decoding unit1028 changes whether or not to decode the inter prediction flag, inaccordance with whether or not the bi-prediction restricted PUdetermination unit 1218 described above imposes the restriction ofbi-prediction on the basic inter PU.

In cases where the inter prediction flag is decoded using a skip PU,such as in a case that the use of merge is restricted, the skip PU issubject to bi-prediction restriction.

The operations and effects achieved by the motion compensation parameterderivation unit 121 imposing the restriction of bi-prediction byreferring to the small PU size 123A are as follows. Bi-predictioninvolves a larger amount of processing than uni-prediction, and a smallsize PU requires a larger amount of processing per unit area than alarge size PU. Thus, bi-prediction for a small size PU can be abottleneck in processing. To address this bottleneck, for a small sizePU, suppressing bi-prediction may prevent an excessive increase in theamount of processing. In particular, the amount of worst-case processingsuch as the processing of a PU with the smallest size may be reduced.

An additional description will now be given of the inter predictionflag. In NPL 1, the inter prediction flag (inter_pred_flag) is basicallya flag to select bi-prediction or uni-prediction. However, if a combinedlist is not used and a backward prediction disabling flag is notdisabled, a flag to select L0 or L1 as a reference frame list to be usedfor uni-prediction may be transmitted using inter_pred_f lag.

[Operations and Effects]

The present invention may also be expressed in the following form. Animage decoding device according to an aspect of the present invention isan image decoding device for restoring an image in a prediction unitusing a prediction scheme for any inter-frame prediction out ofuni-prediction in which one reference image is referred to andbi-prediction in which two reference images are referred to. The imagedecoding device includes bi-prediction restriction means for imposingrestriction of bi-prediction on a target prediction unit to which theinter-frame prediction is to be applied, the target prediction unitbeing a prediction unit having a size less than or equal to apredetermined value.

With the restriction described above, the advantage of reducing theamount of processing that can be a bottleneck in decoding processing maybe achieved.

(3) Details of TU Information Decoding Unit

Next, an example configuration of the TU information decoding unit 13and the decoding module 10 will be described with reference to FIG. 16.FIG. 16 is a functional block diagram exemplifying a configuration inwhich the video decoding device 1 performs a TU partition decodingprocess, a transform coefficient decoding process, and a predictionresidual derivation process, that is, the configuration of the TUinformation decoding unit 13 and the decoding module 10.

The configuration of the individual components in the TU informationdecoding unit 13 and the decoding module 10 will be describedhereinafter in this order.

[TU Information Decoding Unit]

As illustrated in FIG. 16, the TU information decoding unit 13 includesa TU partition setting unit 131 and a transform coefficient restorationunit 132.

The TU partition setting unit 131 is configured to set a TU partitioningscheme on the basis of the parameters decoded from the encoded data, theCU size, and the PU partition type. The transform coefficientrestoration unit 132 is configured to restore the prediction residualsof the individual TUs in accordance with the TU partition set by the TUpartition setting unit 131.

[TU Partition Setting Unit]

First, the details of the TU partition setting unit 131 will bedescribed with reference to FIG. 16. More specifically, the TU partitionsetting unit 131 includes a target region setting unit 1311, a splitdetermination unit 1312, a sub-region setting unit (transform unitsplitting means, splitting means) 1313, and a transform sizedetermination information storage unit 1314.

The target region setting unit 1311 sets a target node, which is atarget region. When the TU partitioning process for the target transformtree is started, the target region setting unit 1311 sets the entiretarget CU as an initial value of the target region. The partition depthis set to “0”.

The split determination unit 1312 decodes information(split_transform_flag) indicating whether or not to split the targetnode set by the target region setting unit 1311, using a region splitflag decoding unit 1031, and determines whether or not the splitting ofthe target node is required on the basis of the decoded information.

The sub-region setting unit 1313 sets sub-regions for the target nodethat is determined by the split determination unit 1312 to be requiredto be split. Specifically, the sub-region setting unit 1313 adds 1 tothe partition depth for the target node determined to be required to besplit, and splits the target node on the basis of the transform sizedetermination information stored in the transform size determinationinformation storage unit 1314.

Each target node obtained by splitting is further set as a target regionby the target region setting unit 1311.

In TU partitioning, the series of processes of the “setting of a targetregion”, the “determination of splitting”, and the “setting ofsub-regions” is recursively repeated for a target node, which has beensplit, by the target region setting unit 1311, the split determinationunit 1312, and the sub-region setting unit 1313.

The transform size determination information storage unit 1314 storestransform size determination information indicating the partitioningscheme for a target node. The transform size determination informationis, specifically, information that defines the correspondences betweenCU sizes, TU partition depths (trafoDepth), PU partition types of thetarget PU, and TU partition patterns.

A specific example of the configuration of the transform sizedetermination information will now be described with reference to FIG.17. In the transform size determination information illustrated in FIG.17, TU partition patterns are defined in accordance with CU sizes, TUpartition depths (trafoDepth), and PU partition types of the target PU.In the table, “d” represents the CU partition depth.

In the transform size determination information, the following four CUsizes are defined: 64×64, 32×32, 16×16, and 8×8.

In the transform size determination information, furthermore, selectablePU partition types are defined in accordance with CU sizes.

For CU sizes of 64×64, 32×32, and 16×16, any of 2N×2N, 2N×nU, 2N×nD,N×2N, nL×2N, and nR×2N may be selectable as a PU partition type.

For a CU size of 8×8, any of 2N×2N, 2N×N, and N×2N may be selectable asa PU partition type.

In the transform size determination information, furthermore, TUpartition patterns are defined for respective TU partition depths inaccordance with CU sizes and PU partition types.

For example, for a CU size of 64×64, the details are as follows. First,a TU partition depth of “0” is not defined, and a 64×64 CU is forciblysplit (which is indicated by *1 in FIG. 17). The reason for this is thatthe maximum size of a transform unit is defined as 32×32.

For TU partition depths of “1” and “2”, different TU partition patternsare defined for the case that only square quadtree partitions areincluded and the case that only non-square quadtree partitions areincluded.

For the PU partition type of 2N×2N and the TU partition patternincluding only square quadtree partitions, a 32×32 square quadtreepartition is defined at a TU partition depth of “1”, and a 16×16 squarequadtree partition is defined at a TU partition depth of “2”.

The definitions for any of the PU partition types of 2N×2N, 2N×nU,2N×nD, N×2N, nL×2N, and nR×2N and the TU partition pattern includingonly non-square quadtree partitions are as follows.

First, a 32×32 square quadtree partition is defined at a TU partitiondepth of “1”. Then, at a TU partition depth of “2”, a 32×8 non-squarequadtree partition is defined for the PU partition types of 2N×2N,2N×nU, and 2N×nD, and an 8×32 non-square quadtree partition is definedfor the PU partition types of N×2N, nL×2N, and nR×2N.

The example for a CU size of 8×8 is as follows. For a CU size of 8×8,the selectable PU partition types are 2N×2N, 2N×2, and N×2N. For each ofthe PU partition types, an 8×8 square quadtree partition is defined at aTU partition depth of “1”, and a 4×4 square quadtree partition isdefined at a TU partition depth of “2”. No definition is given at a TUpartition depth of “3”, and the CU is forced into non-split (which isindicated by *2 in FIG. 17).

The details of TU partitioning in the TU partition setting unit 131 willnow be described with reference to FIG. 20. FIG. 20 is a diagramillustrating an example of TU partitions of the CU size of 32×32 and thePU partition type of 2N×N.

When the TU partitioning process starts, the target region setting unit1311 sets the entire target CU as an initial value of the target region,and also sets depth=0. At depth=0, a PU boundary B1 is indicated by adotted line at the center in the vertical direction of the region.

Then, the split determination unit 1312 determines whether or not thesplitting of the target node is required on the basis of information(split_transform_flag) indicating whether or not to split the targetnode.

Since split=1 is set, the split determination unit 1312 determines thatthe target node is split.

The sub-region setting unit 1313 increases the depth by 1, and sets a TUpartition pattern for the target node on the basis of transform sizedetermination information. The sub-region setting unit 1313 executes TUpartitioning on the target region, or the target CU, with depth=1.

In accordance with the definition of the transform size determinationinformation illustrated in FIG. 17, at depth=1, the sub-region settingunit 1313 splits the target node into 32×8 regions using quadtreepartitioning.

Accordingly, the target node is split into four landscape-orientedrectangular regions TU0, TU1, TU2, and TU3 using a partitioning schemeillustrated in part (b) of FIG. 18.

Further, the target region setting unit 1311 sequentially sets therespective nodes of TU0, TU1, TU2, and TU3 as target regions at thepartition depth of depth=1.

Since split=1 is set for TU1, the split determination unit 1312determines that TU1 is split.

The sub-region setting unit 1313 executes TU partitioning on TU1 withdepth=2. In accordance with the definition of the transform sizedetermination information illustrated in FIG. 17, at depth=2, thesub-region setting unit 1313 splits the target node into 16×4 regionsusing quadtree partitioning.

Accordingly, the target node TU1 is split into four landscape-orientedrectangular regions TU1-0, TU1-1, TU1-2, and TU1-3 using a partitioningscheme illustrated in part (a) of FIG. 19.

[3-1] Example of Configuration for Derivation of Sub-Region Size when PUPartition Type is Asymmetric

For an asymmetric PU partition type, the sub-region setting unit 1313may be configured to apply rectangular (non-square) transform to smallerPUs and to apply square transform to at least some of larger PUs.

For example, the transform size determination information stored in thetransform size determination information storage unit 1314 includespieces of definition information, namely, a small PU size 1314A and alarge PU size 1314B.

The small PU size 1314A has a definition in which rectangular transformis applied to a small size PU among asymmetric PUs obtained bysplitting.

The large PU size 1314B has a definition in which square transform isapplied to a large size PU among asymmetric PUs obtained by splitting.

Further, the sub-region setting unit 1313 refers to one of thedefinition information of the small PU size 1314A and the definitioninformation of the large PU size 1314B in accordance with the sizes ofthe asymmetric PUs obtained by splitting, and sets sub-regions.

TU partitioning with the example configuration described above will nowbe described with reference to FIG. 21.

FIG. 21 is a diagram illustrating an example of TU partitions of the PUpartition type of 2N×nU in the example configuration described above.

First, when the TU partitioning process starts, the target regionsetting unit 1311 sets the entire target CU as an initial value of thetarget region, and also sets depth=0. At depth=0, a PU boundary B2 isindicated by a dotted line at a position above the center in thevertical direction of the region.

Then, the split determination unit 1312 determines whether or not thesplitting of the target node is required on the basis of information(split_transform_flag) indicating whether or not to split the targetnode.

Since split=1 is set, the split determination unit 1312 determines thatthe target node is split.

The sub-region setting unit 1313 increases the depth by 1, and sets a TUpartition pattern for the target node on the basis of transform sizedetermination information. The sub-region setting unit 1313 executes TUpartitioning on the target region, or the target CU, with depth=1.

The sub-region setting unit 1313 performs landscape-oriented rectangularTU partitioning on a small size PU among asymmetric PUs obtained bysplitting, in accordance with the small PU size 1314A.

The sub-region setting unit 1313 performs setting so that a larger sizePU among asymmetric PUs obtained by splitting includes square TUpartitions, in accordance with the large PU size 1314B. As illustratedin FIG. 21, the sub-region setting unit 1313 may perform setting so thata region located near the PU boundary includes rectangular TUsub-regions.

As a result, at depth=1, the sub-region setting unit 1313 splits thetarget node into two rectangular nodes and two square nodes usingquadtree partitioning.

Accordingly, the target node is split into four regions, namely,landscape-oriented rectangular regions TU0 and TU1 and square regionsTU2 and TU3.

The target region setting unit 1311 further sequentially sets therespective nodes TU0, TU1, TU2, and TU3 as target regions at thepartition depth of depth=1.

Since split=1 is set for TU0 and TU2, the split determination unit 1312determines that TU0 and TU2 are split.

The sub-region setting unit 1313 executes TU partitioning on TU0 and TU2with depth=2. At depth=2, the sub-region setting unit 1313 splits TU0into four landscape-oriented rectangles using TU partitioning, andsplits TU2 into four squares using TU partitioning.

Accordingly, TU0 is split into four landscape-oriented rectangularregions TU0-0, TU0-1, TU0-2, and TU0-3. TU2 is split into fourlandscape-oriented rectangular regions TU2-0, TU2-1, TU2-2, and TU2-3.

As described above, a CU with an asymmetric PU partition type ispreferably subjected to TU partitioning so that no partitions lie acrossthe PU boundary and the TU sub-regions obtained by splitting have thesame area.

[Operations and Effects]

The present invention may also be expressed in the following form. Animage decoding device according to an aspect of the present invention isan image decoding device for restoring an image by generating aprediction image for each of prediction units obtained by splitting acoding unit into one or more partitions, decoding a prediction residualfor each of transform units obtained by splitting a coding unit into oneor more partitions, and adding the prediction residual to the predictionimage. Partition types in which a coding unit is split into theprediction units include an asymmetric partition in which a coding unitis split into a plurality of prediction units having different sizes ora symmetric partition in which a coding unit is split into a pluralityof prediction units having the same size. The image decoding deviceincludes transform unit splitting means for determining, in a case thata partition type of a target coding unit, which is a coding unit to bedecoded, is the asymmetric partition, a partitioning scheme for atransform unit in accordance with a size of a prediction unit includedin the target coding unit.

Thus, if the partition type is the asymmetric partition, a partitioningscheme for a transform unit that enables efficient removal ifcorrelations in accordance with the size of a prediction unit includedin the target coding unit described above may be selected.

[3-2] Example of Configuration for Applying Non-Rectangular Transformwhen PU Partition Type is a Square Partition for Some CU Sizes

Example Configuration 3-2-1

The sub-region setting unit 1313 may split a target node into non-squareregions if the PU partition type is a square partition.

To that end, in the transform size determination information stored inthe transform size determination information storage unit 1314, a squarePU partition type 1314C that defines a target node as being split intonon-square regions may be defined if the PU partition type is a squarepartition.

If the PU partition type is a square partition, the sub-region settingunit 1313 splits a target node into non-square regions by referring tothe square PU partition type 1314C.

If the CU size is 32×32 size and the PU partition type is 2N×2N, thesub-region setting unit 1313 may split a region into 32×8 nodes using TUpartitioning.

If the CU size is 32×32 size and the PU partition type is 2N×2N, thesub-region setting unit 1313 may additionally decode informationindicating the partitioning scheme for TU partitions, and split a regioninto 32×8, 16×16, or 8×32 nodes on the basis of the decoded information.

If the CU size is 32×32 size and the PU partition type is 2N×2N, thesub-region setting unit 1313 may estimate the TU size at which thetarget CU is split, on the basis of the size and PU partition type ofthe neighboring CUs. The sub-region setting unit 1313 may also estimatethe TU size as given in the following items (i) to (iii).

(i) If a CU boundary or a PU boundary is present near the left side anda boundary between a CU boundary and a PU boundary is not present nearthe upper side, 32×8 is selected.

(ii) If a CU boundary or a PU boundary is present near the upper sideand a boundary between a CU boundary and a PU boundary is not presentnear the left side, 8×32 is selected.

(iii) Otherwise than the items (i) and (ii) above (if a boundary ispresent near the left side or near the upper side or no boundary ispresent near the left side or near the upper side), 16×16 is selected.

[Operations and Effects]

The present invention may also be expressed in the following form. Animage decoding device according to an aspect of the present invention isan image decoding device for restoring an image by generating aprediction image for each of prediction units obtained by splitting acoding unit into one or more partitions, decoding a prediction residualfor each of transform units obtained by splitting a coding unit into oneor more partitions, and adding the prediction residual to the predictionimage. Partitioning schemes in which a coding unit is split into thetransform units include square partitioning and rectangularpartitioning. The image decoding device includes splitting means forsplitting a target transform unit using a rectangular partitioningscheme in a case that a target prediction unit, which is a predictionunit to be decoded, has a square shape.

The operations and effects achieved by the configuration described aboveare as follows. In some cases, square prediction units may be selectedeven though edges are present in the region and the image hasdirectionality. For example, in a case that an object including a largenumber of horizontal edges is moving, motion is uniform over the entireobject. Thus, square prediction units are selected. In the transformprocess, however, preferably, transform units having a shape that islong in the horizontal direction along the horizontal edges are applied.

According to the configuration described above, in a case that a targetprediction unit, which is the prediction unit to be decoded, has asquare shape, a target transform unit is split using a rectangularpartitioning scheme.

Accordingly, a rectangular transform unit may also be selected in asquare coding unit, resulting in improved coding efficiency for theregion described above.

Example Configuration 3-2-2

In addition to the configuration 3-2-1 described above, for the CU sizeof 16×16 size and the PU partition type of 2N×2N, the sub-region settingunit 1313 performs splitting as follows at the respective partitiondepths.

At a partition depth equal to 1, splitting into 16×4 TUs is performed.

At a partition depth equal to 2, splitting into 4×4 TUs is performed.

The configuration described above allows a uniform scan order in 4×4 TUsregardless of the PU partition type of a 16×16 CU. If the scan order isnot uniform in 4×4 TUs because of different PU partition types of a16×16 CU, the scanning process needs to be changed in accordance withthe PU partition types of the 16×16 CU, causing an increased complexityof processing. Such non-uniformity in scan order might create abottleneck in processing.

According to the configuration described above, uniformity of the scanorder may achieve the advantage of simplified processing.

More details will now be described with reference to FIG. 22 and FIG.23. First, a description will be given of TU partitions illustrated inFIG. 22. FIG. 22 illustrates the flow of TU partitioning in a case thata split is performed in accordance with the transform size determinationinformation illustrated in FIG. 17.

As illustrated in part (a) of FIG. 22, for the PU partition type of2N×2N: at depth=1, the sub-region setting unit 1313 splits the targetnode using square quadtree partitioning. At depth=2, the sub-regionsetting unit 1313 further splits each of the square nodes obtained bysplitting, using square quadtree partitioning. Here, the recursivez-scan order is used. The details are as illustrated in FIG. 22.

As illustrated in part (b) of FIG. 22, for the PU partition type of2N×nU: at depth=1, the sub-region setting unit 1313 splits the targetnode using landscape-oriented rectangular quadtree partitioning. Atdepth=2, the sub-region setting unit 1313 further splits each of thelandscape-oriented rectangular nodes obtained by splitting, using squarequadtree partitioning. Here, raster scan order is used as the scan orderof the TUs. The details are as illustrated in FIG. 22.

Next, a description will be given of the TU partitioning illustrated inFIG. 23. FIG. 23 illustrates the flow of TU partitioning in a case thata region with the PU partition type of 2N×2N is split in accordance withthe square PU partition type 1314C.

For the PU partition type of 2N×2N: at depth=1, the sub-region settingunit 1313 splits the target node using landscape-oriented rectangularquadtree partitioning. At depth=2, the sub-region setting unit 1313further splits each of the landscape-oriented rectangular nodes obtainedby splitting, using square quadtree partitioning.

As a result, raster scan order is used. Accordingly, a common scanorder, or raster scan order, can be used for the PU partition type of2N×nU and the PU partition type of 2N×2N.

[Transform Coefficient Restoration Unit]

The details of the transform coefficient restoration unit 132 will bedescribed hereinafter with reference again to FIG. 16. Morespecifically, the transform coefficient restoration unit 132 includes anon-zero coefficient determination unit 1321 and a transform coefficientderivation unit 1322.

The non-zero coefficient determination unit 1321 decodes non-zerotransform coefficient presence or absence information on each TUincluded in a target CU or on a transform tree using a determinationinformation decoding unit (coefficient decoding means) 1032 to determinewhether or not each TU includes a non-zero transform coefficient.

The transform coefficient derivation unit 1322 restores the transformcoefficient of each TU including a non-zero transform coefficient usinga transform coefficient decoding unit (coefficient decoding means) 1033,and also sets the transform coefficient of each TU not including anon-zero transform coefficient to 0 (zero).

[Decoding Module]

As illustrated in FIG. 16, the decoding module 10 includes the regionsplit flag decoding unit 1031, the determination information decodingunit 1032, the transform coefficient decoding unit 1033, and a contextstorage unit 1034.

The region split flag decoding unit 1031 decodes syntax values, inaccordance with the encoded data and syntax type supplied from the splitdetermination unit 1312, from a binary representation included in theencoded data. The region split flag decoding unit 1031 decodesinformation (split_transform_flag) indicating whether or not to splitthe target node.

In accordance with encoded data and syntax type of the non-zerotransform coefficient presence or absence information supplied from thetransform coefficient derivation unit 1322, the determinationinformation decoding unit 1032 decodes a syntax value from a binaryrepresentation included in the encoded data. The syntax elements decodedby the determination information decoding unit 1032 include,specifically, no_residual_data_flag, cbf_luma, cbf_cb, cbf_cr, and cbp.

In accordance with encoded data and syntax type of the transformcoefficients supplied from the transform coefficient derivation unit1322, the transform coefficient decoding unit 1033 decodes a syntaxvalue from a binary representation included in the encoded data. Thesyntax elements decoded by the transform coefficient decoding unit 1033include, specifically, level, which is the absolute value of a transformcoefficient, the sign of a transform coefficient, and the run ofconsecutive zeros.

The context storage unit 1034 stores contexts referred to by thedetermination information decoding unit 1032 and the transformcoefficient decoding unit 1033 for decoding processes.

[3-3] Specific Configuration for Referring to Contexts when DecodingTransform Coefficients

If the PU partition type is an asymmetric partition, each of thedetermination information decoding unit 1032 and the transformcoefficient decoding unit 1033 may be configured to decode syntax valuesfor transform coefficients using different contexts for TUs included ina smaller PU and TUs included in a larger PU. Examples of such types ofsyntax elements include a non-zero transform coefficient flag, atransform coefficient level, a-run of transform coefficients, andnon-zero transform coefficient presence or absence information on eachnode in the TU tree. The syntax elements described above may be used incombination.

Accordingly, the context storage unit 1034 may store a small PU size1034A representing probability setting values corresponding to varioussyntax values for transform coefficients in contexts referred to in TUsincluded in a smaller PU, and a large PU size 1034B representingprobability setting values in contexts referred to in TUs included in alarger PU. The small PU size 1034A and the large PU size 1034B areprobability setting values corresponding to different contexts.

The determination information decoding unit 1032 arithmetically decodesCbf (cbf_luma, cbf_cb, cbf_cr, etc.) for the target TU by referring tothe small PU size 1034A if the target TU is included in a small PU or byreferring to the large PU size 1034B if the target TU is included in alarger PU.

The transform coefficient decoding unit 1033 arithmetically decodestransform coefficients (level, sign, run, etc.) for the target TU byreferring to the small PU size 1034A if the target TU is included in asmall PU or by referring to the large PU size 1034B if the target TU isincluded in a larger PU.

The determination information decoding unit 1032 and the transformcoefficient decoding unit 1033 may refer to the small PU size 1034A ifthe target TU is included in a larger PU and if the target TU is locatednear a smaller PU.

In other words, even in a case that the target TU is included in alarger PU, if the target TU is located near the PU boundary, thedetermination information decoding unit 1032 and the transformcoefficient decoding unit 1033 may refer to the small PU size 1034A.

A smaller PU may possibly include an edge, and is likely to include atransform coefficient. On the other hand, a larger PU is less likely toinclude a transform coefficient. A different context is used for thetarget TU depending on whether the target TU is included in the small PUor the larger PU. Accordingly, variable length decoding may be performedin accordance with the probability of occurrence of the transformcoefficient in each region.

[Operations and Effects]

The present invention may also be expressed in the following form. Animage decoding device according to an aspect of the present invention isan image decoding device for restoring an image by generating aprediction image for each of prediction units obtained by splitting acoding unit into one or more partitions, decoding a prediction residualfor each of transform units obtained by splitting a coding unit into oneor more partitions, and adding the prediction residual to the predictionimage. Partition types in which a coding unit is split into theprediction units include a split into asymmetric partitions that areprediction units having different sizes and a split into symmetricpartitions that are prediction units having the same size. The imagedecoding device includes coefficient decoding means for decoding, in acase that a partition type of a target prediction unit, which is aprediction unit to be decoded, is a split into asymmetric partitions,transform coefficients by referring to different contexts for small andlarge prediction units obtained by the split.

Thus, variable length decoding may be performed in accordance with theprobability of occurrence of transform coefficients in respectiveregions of transform units included in a small prediction unit andtransform units included in a large prediction unit.

(Processing Flow)

The CU decoding process of the video decoding device 1 will now bedescribed with reference to FIG. 24. In the following, it is assumedthat a target CU is an inter CU or a skip CU. FIG. 24 is a flowchartillustrating an example of the flow of the CU decoding process(inter/skip CU) for the video decoding device 1.

When the CU decoding process starts, the CU information decoding unit 11decodes CU prediction information on the target CU using the decodingmodule 10 (S11). This process is performed on a per-CU basis.

Specifically, in the CU information decoding unit 11, the CU predictionmode determination unit 111 decodes the skip flag SKIP using thedecoding module 10. If the skip flag does not indicate a skip CU, the CUprediction mode determination unit 111 further decodes CU predictiontype information Pred_type using the decoding module 10.

Then, processing on a per-PU basis is performed. Specifically, themotion compensation parameter derivation unit 121 in the PU informationdecoding unit 12 decodes motion information (S12), and the predictionimage generation unit 14 generates a prediction image through interprediction based on the decoded motion information (S13).

Then, the TU information decoding unit 13 performs a TU partitiondecoding process (S14). Specifically, in the TU information decodingunit 13, the TU partition setting unit 131 sets a TU partitioning schemeon the basis of parameters decoded from the encoded data and the CU sizeand the PU partition type. This process is performed on a per-CU basis.

Then, processing on a per-TU basis is performed. Specifically, the TUinformation decoding unit 13 decodes a transform coefficient (S15), andthe dequantization/inverse transform unit 15 derives a predictionresidual from the decoded transform coefficient (S16).

Then, the adder 17 adds together the prediction image and the predictionresidual to generate a decoded image (S17). This process is performed ona per-CU basis.

[Video Encoding Device]

The video encoding device 2 according to the present embodiment will bedescribed hereinafter with reference to FIG. 25 and FIG. 26.

(Overview of Video Encoding Device)

Generally, the video encoding device 2 is a device configured to encodean input image #10 to generate encoded data #1, and to output theencoded data #1.

(Configuration of Video Encoding Device)

First, an example configuration of the video encoding device 2 will bedescribed with reference to FIG. 25. FIG. 25 is a functional blockdiagram illustrating a configuration of the video encoding device 2. Asillustrated in FIG. 25, the video encoding device 2 includes an encodingsetting unit 21, a dequantization/inverse transform unit 22, aprediction image generation unit 23, an adder 24, a frame memory 25, asubtractor 26, a transform/quantization unit 27, and an encoded datageneration unit (encoding means) 29.

The encoding setting unit 21 generates image data and various kinds ofsetting information concerning encoding, on the basis of the input image#10.

Specifically, the encoding setting unit 21 generates the following imagedata and setting information.

First, the encoding setting unit 21 sequentially splits the input image#10 into slices and tree blocks to generate a CU image #100 for a targetCU.

The encoding setting unit 21 further generates header information H′ onthe basis of the results of the splitting process. The headerinformation H′ includes (1) information on the size and shape of a treeblock included in a target slice and the position of the tree block inthe target slice, and (2) CU information CU′ on the size and shape ofCUs of each tree block and the position of CUs in a target tree block.

The encoding setting unit 21 also generates PT setting information PTI′by referring to the CU image #100 and the CU information CU′. The PTsetting information PTI′ includes information concerning all thecombinations of (1) possible patterns of splitting the target CU intoindividual PUs and (2) possible prediction modes that are allocated toeach PU.

The encoding setting unit 21 supplies the CU image #100 to thesubtractor 26. The encoding setting unit 21 further supplies the headerinformation H′ to the encoded data generation unit 29. The encodingsetting unit 21 further supplies the PT setting information PTI′ to theprediction image generation unit 23.

The dequantization/inverse transform unit 22 applies dequantization andinverse orthogonal transform to the quantized prediction residuals foreach block, which are supplied from the transform/quantization unit 27,to restore prediction residuals for each block. The inverse orthogonaltransform has been described in conjunction with thedequantization/inverse transform unit 15 illustrated in FIG. 1 and adescription thereof is thus omitted here.

Further, the dequantization/inverse transform unit 22 integrates theprediction residuals for each block in accordance with a partitionpattern specified by TT split information (described below), andgenerates a prediction residual D for the target CU. Thedequantization/inverse transform unit 22 supplies the generatedprediction residual D for the target CU to the adder 24.

The prediction image generation unit 23 generates a prediction imagePred for the target CU by referring to a locally decoded image P′recorded on the frame memory 25 and the PT setting information PTI′. Theprediction image generation unit 23 sets the prediction parametersobtained by a prediction image generation process in the PT settinginformation PTI′, and transfers the set PT setting information PTI′ tothe encoded data generation unit 29. The prediction image generationprocess of the prediction image generation unit 23 is similar to that ofthe prediction image generation unit 14 in the video decoding device 1,and a description thereof is thus omitted here.

The adder 24 adds together the prediction image Pred supplied from theprediction image generation unit 23 and the prediction residual Dsupplied from the dequantization/inverse transform unit 22 to generate adecoded image P for the target CU.

Decoded images P, which have been decoded, are sequentially recorded onthe frame memory 25. At the time when the target tree block is decoded,the frame memory 25 has recorded thereon decoded images corresponding toall the tree blocks decoded before the target tree block is decoded (forexample, all the preceding tree blocks in raster scan order), togetherwith parameters used for the decoding of the decoded images P.

The subtractor 26 subtracts the prediction image Pred from the CU image#100 to generate a prediction residual D for the target CU. Thesubtractor 26 supplies the generated prediction residual D to thetransform/quantization unit 27.

The transform/quantization unit 27 applies orthogonal transform andquantization to the prediction residual D to generate a quantizedprediction residual. The term “orthogonal transform”, as used herein,refers to an orthogonal transform from the pixel domain to the frequencydomain. Examples of the orthogonal transform include DCT transform(Discrete Cosine Transform) and DST transform (Discrete Sine Transform).

Specifically, the transform/quantization unit 27 refers to the CU image#100 and the CU information CU′, and determines the pattern in which thetarget CU is split into one or a plurality of blocks. Thetransform/quantization unit 27 splits the prediction residual D intoprediction residuals for the respective blocks in accordance with thedetermined partition pattern.

Further, the transform/quantization unit 27 applies orthogonal transformto the prediction residual for each block to generate a predictionresidual in the frequency domain. Then, the transform/quantization unit27 quantizes the prediction residual in the frequency domain to generatea quantized prediction residual for each block.

The transform/quantization unit 27 further generates TT settinginformation TTI′ including the generated quantized prediction residualfor each block, TT split information for specifying the partitionpattern of the target CU, and information concerning all possiblepatterns of splitting the target CU into individual blocks. Thetransform/quantization unit 27 supplies the generated TT settinginformation TTI′ to the dequantization/inverse transform unit 22 and theencoded data generation unit 29.

The encoded data generation unit 29 encodes the header information H′,the TT setting information TTI′, and the PT setting information PTI′.The encoded data generation unit 29 further multiplexes the encodedheader information H, TT setting information TTI, and PT settinginformation PTI to generate encoded data #1, and outputs the encodeddata #1.

(Correspondence Between Video Encoding Device and Video Decoding Device)

The video encoding device 2 includes a configuration corresponding tothe configuration of the video decoding device 1. The term“correspondence”, as used herein, is used to indicate a relationship inwhich the video encoding device 2 and the video decoding device 1perform similar or opposite operations.

For example, as described above, the prediction image generation processof the prediction image generation unit 14 in the video decoding device1 is similar to the prediction image generation process of theprediction image generation unit 23 in the video encoding device 2.

For example, a process in which the video decoding device 1 decodessyntax values from a bit sequence is opposite to a process in which thevideo encoding device 2 encodes a bit sequence from syntax values.

The following description will be given of what correspondence existsbetween the respective components of the video encoding device 2 and theCU information decoding unit 11, the PU information decoding unit 12,and the TU information decoding unit 13 of the video decoding device 1.Accordingly, the operations and functions of the respective componentsof the video encoding device 2 will become apparent in more detail.

The encoded data generation unit 29 corresponds to the decoding module10. More specifically, whereas the decoding module 10 derives syntaxvalues on the basis of encoded data and syntax type, the encoded datageneration unit 29 generates encoded data on the basis of syntax valuesand syntax type.

The encoding setting unit 21 corresponds to the CU information decodingunit 11 of the video decoding device 1. A comparison between theencoding setting unit 21 and the CU information decoding unit 11 will bepresented as follows.

The CU information decoding unit 11 supplies encoded data and syntaxtype for CU prediction type information to the decoding module 10, anddetermines a PU partition type on the basis of the CU prediction typeinformation decoded by the decoding module 10.

On the other hand, the encoding setting unit 21 determines a PUpartition type, and generates CU prediction type information. Theencoding setting unit 21 supplies syntax values and syntax type for theCU prediction type information to the encoded data generation unit 29.

The encoded data generation unit 29 may include components similar tothe binarization information storage unit 1012, the context storage unit1013, and the probability setting storage unit 1014 in the decodingmodule 10.

The prediction image generation unit 23 correspond to the PU informationdecoding unit 12′ and the prediction image generation unit 14 of thevideo decoding device 1. A comparison between them will be presented asfollows.

As described above, the PU information decoding unit 12 supplies encodeddata and syntax type for motion information to the decoding module 10,and derives motion compensation parameters on the basis of the motioninformation decoded by the decoding module 10. The prediction imagegeneration unit 14 generates a prediction image on the basis of thederived motion compensation parameters.

On the other hand, the prediction image generation unit 23 determinemotion compensation parameters in a prediction image generation process,and supplies syntax values and syntax type for the motion compensationparameters to the encoded data generation unit 29.

The prediction image generation unit 23 may include components similarto the merge candidate priority information storage unit 122 and thereference frame setting information storage unit 123 in the PUinformation decoding unit 12.

The transform/quantization unit 27 corresponds to the TU informationdecoding unit 13 and the dequantization/inverse transform unit 15 of thevideo decoding device 1. A comparison between them will be presented asfollows.

The TU partition setting unit 131 in the TU information decoding unit 13supplies encoded data and syntax type for information indicating whetheror not to split a node to the decoding module 10, and performs TUpartitioning on the basis of the information indicating whether or notto split anode, which is decoded by the decoding module 10.

The transform coefficient restoration unit 132 in the TU informationdecoding unit 13 supplies encoded data and syntax type for determinationinformation and transform coefficients to the decoding module 10, andderives transform coefficients on the basis of the determinationinformation and transform coefficients decoded by the decoding module10.

On the other hand, the transform/quantization unit 27 determines apartitioning scheme for TU partitions, and supplies syntax values andsyntax type for information indicating whether or not to split a node tothe encoded data generation unit 29.

The transform/quantization unit 27 further supplies syntax values andsyntax type for quantized transform coefficients obtained by applyingtransform and quantization to prediction residuals to the encoded datageneration unit 29.

The transform/quantization unit 27 may include a configuration similarto that of the transform size determination information storage unit1314 in the TU partition setting unit 131. The encoded data generationunit 29 may include a configuration similar to that of the contextstorage unit 1034 in the decoding module 10.

(Correspondence Between Video Encoding Device and SpecificConfiguration)

[1]′ Encoding Setting Unit and Encoded Data Generation Unit

[1-1]′ Example of Configuration for Restricting References to Contexts

If the PU partition type is an asymmetric partition, the encoded datageneration unit 29 may perform an encoding process on informationindicating the partition type of the asymmetric partition without usingcontexts for CABAC.

A specific configuration of the encoded data generation unit 29 issimilar to that described in, for example, the example configuration[1-1] of the video decoding device 1, and a description thereof is thusomitted here. Note that “the CU prediction mode decoding unit 1011”,“the probability setting storage unit 1014”, and “decode (decoding)” inthe description of the example configuration [1-1] should be substitutedwith “the encoded data generation unit 29”, “the configurationcorresponding to the probability setting storage unit 1014”, and “encode(encoding)”, respectively.

[1-2]′ Configuration for Encoding CU Prediction Type Information(Pred_Type)

The encoded data generation unit 29 may be configured to encode CUprediction type information by referring to binarization information.

A specific configuration of the encoded data generation unit 29 issimilar to that described in, for example, the example configuration[1-2] of the video decoding device 1, and a description thereof is thusomitted here. Note that “the CU prediction mode decoding unit 1011”,“the binarization information storage unit 1012”, and “decode(decoding)” in the description of the example configuration [1-2] shouldbe substituted with “the encoded data generation unit 29”, “theconfiguration corresponding to the binarization information storage unit1012”, and “encode (encoding)”, respectively.

[1-3]′ Configuration for Encoding Short Code of Intra CU in Small SizeCU

The encoded data generation unit 29 may be configured to encode a shortcode of an intra CU in a small size CU.

A specific configuration of the encoded data generation unit 29 issimilar to that described in, for example, the example configuration[1-3] of the video decoding device 1, and a description thereof is thusomitted here. Note that “the CU prediction mode decoding unit 1011”,“the context storage unit 1013”, “the binarization information storageunit 1012”, and “decode (decoding)” in the description of the exampleconfiguration [1-3] should be substituted with “the encoded datageneration unit 29”, “the configuration corresponding to the contextstorage unit 1013”, “the configuration corresponding to the binarizationinformation storage unit 1012”, and “encode (encoding)”, respectively.

[1-4]′ Configuration for Modifying Interpretation of Bin Sequence inAccordance with Neighboring Prediction Parameters

The encoded data generation unit 29 may be configured to modify theinterpretation of a bin sequence by referring to prediction parametersallocated to neighboring regions.

A specific configuration of the encoded data generation unit 29 issimilar to that described in, for example, the example configuration[1-4] of the video decoding device 1, and a description thereof is thusomitted here. Note that “the CU prediction mode decoding unit 1011”,“the binarization information storage unit 1012”, and “decode(decoding)” in the description of the example configuration [1-4] shouldbe substituted with “the encoded data generation unit 29”, “theconfiguration corresponding to the binarization information storage unit1012”, and “encode (encoding)”, respectively.

[2]′ Prediction Image Generation Unit and Encoded Data Generation Unit

[2-1]′ Example of Positions and Priorities of Merge Candidates

In a case that the PU partition type is asymmetric, the PU informationgeneration unit 30 may be configured to determine the priorities ofmerge candidates using a method different from that in a case that thePU partition type is symmetric.

A specific configuration of the PU information generation unit 30 issimilar to that described in, for example, the example configuration[2-1] of the video decoding device 1, and a description thereof is thusomitted here. Note that “the motion compensation parameter derivationunit 121” and “the merge candidate priority information storage unit122” in the description of the example configuration [2-1] should besubstituted with “the motion compensation parameter generation unit 301”and “the configuration corresponding to the merge candidate priorityinformation storage unit 122”, respectively.

[2-2]′ Change of Merge Candidates Using Combination of CU Size andSkip/Merge

The prediction image generation unit 23 may be configured to changemerge candidates in accordance with a combination of a CU size and a CUtype, namely, whether or not the CU of interest is a CU forskipping/merging.

A specific configuration of the prediction image generation unit 23 issimilar to that described in, for example, the example configuration[2-2] of the video decoding device 1, and a description thereof is thusomitted here. Note that “the motion compensation parameter derivationunit 121” and “the merge candidate priority information storage unit122” in the description of the example configuration [2-2] should besubstituted with “the configuration corresponding to the merge candidatepriority information storage unit 122”, respectively.

[2-3]′ Determination of Number of Reference Frames

The prediction image generation unit 23 may determine which predictionscheme out of uni-prediction and bi-prediction to apply in interprediction, by referring to the reference frame setting information.

A specific configuration of the prediction image generation unit 23 issimilar to that described in, for example, the example configuration[2-3] of the video decoding device 1, and a description thereof is thusomitted here. Note that “the motion compensation parameter derivationunit 121” and “the reference frame setting information storage unit 123”in the description of the example configuration [2-3] should besubstituted with “the configuration corresponding to the reference framesetting information storage unit 123”, respectively.

[3]′ Transform/Quantization Unit and Encoded Data Generation Unit

[3-1]′ Example of Configuration for Derivation of Sub-Region Size whenPU Partition Type is Asymmetric

If the PU partition type is asymmetric, the transform/quantization unit27 may be configured to apply rectangular (non-square) transform to asmaller PU and to apply square transform to a larger PU.

A specific configuration of the transform/quantization unit 27 issimilar to that described in, for example, the example configuration[3-1] of the video decoding device 1, and a description thereof is thusomitted here. Note that “the target region setting unit 1311”, “thesplit determination unit 1312”, and “the sub-region setting unit 1313”in the description of the example configuration [3-1] should besubstituted with “the transform/quantization unit 27”. In addition, “thetransform size determination information storage unit 1314” in thedescription of the example configuration [3-1] should be substitutedwith “the configuration corresponding to the transform sizedetermination information storage unit 1314”.

[3-2]′ Example of Configuration for Applying Non-Rectangular Transformwhen Some PU Partition Types are Square Partition

If the PU partition type is a square partition, thetransform/quantization unit 27 may be configured to split the targetnode into non-square regions. In addition to the configuration describedabove, if the CU size is 16×16 size and the PU partition type is 2N×2N,the transform/quantization unit 27 may be configured to performsplitting so that uniform scan order is used for the respectivepartition depths.

A specific configuration of the transform/quantization unit 27 issimilar to that described in, for example, in the example configuration[3-2] of the video decoding device 1, and a description thereof is thusomitted here. Note that “the sub-region setting unit 1313” and “thetransform size determination information storage unit 1314” in thedescription of the example configuration [3-2] should be substitutedwith “the transform/quantization unit 27” and “the configurationcorresponding to the transform size determination information storageunit 1314”, respectively.

[3-3]′ Specific Configuration for Referring to Contexts for Encoding ofTransform Coefficients

If the PU partition type is asymmetric, the encoded data generation unit29 may be configured to encode at least one of non-zero transformcoefficient presence or absence information and transform coefficientusing different contexts for TUs included in a smaller PU and TUsincluded in a larger PU.

A specific configuration of the encoded data generation unit 29 issimilar to that described in, for example, the example configuration[3-3] of the video decoding device 1, and a description thereof is thusomitted here. Note that “the determination information decoding unit1032” and “the transform coefficient decoding unit 1033” in thedescription of the example configuration [3-3] should be substitutedwith “the encoded data generation unit 29”. In addition, “decode(decoding)” and “the context storage unit 1034” in the description ofthe example configuration [3-3-] should be substituted with “encode(encoding)” and “the configuration corresponding to the context storageunit 1034”, respectively.

(Processing Flow)

The CU encoding process of the video encoding device 2 will be describedhereinafter with reference to FIG. 26. In the following, it is assumedthat a target CU is an inter CU or a skip CU. FIG. 26 is a flowchartillustrating an example of the flow of the CU encoding process(inter/skip CU) of the video encoding device 2.

When the CU encoding process starts, the encoding setting unit 21determines CU prediction information on the target CU, and the encodeddata generation unit 29 encodes the CU prediction information determinedby the encoding setting unit 21 (S21). This process is performed on aper-CU basis.

Specifically, the encoding setting unit 21 determines whether or not thetarget CU is a skip CU. If the target CU is a skip CU, the encodingsetting unit 21 causes the encoded data generation unit 29 to encode theskip flag SKIP. If the target CU is not a skip CU, the encoding settingunit 21 causes the encoded data generation unit 29 to encode the CUprediction type information Pred_type.

Then, processing is performed on a per-PU basis. Specifically, theprediction image generation unit 23 derives motion information, and theencoded data generation unit 29 encodes the motion information derivedby the prediction image generation unit 23 (S22). Further, theprediction image generation unit 14 generates a prediction image usinginter prediction on the basis of the derived motion information (S23).

Then, the transform/quantization unit 27 performs a TU partitionencoding process (S24). Specifically, the transform/quantization unit 27sets a TU partitioning scheme on the basis of the CU size of the targetCU and the PU partition type. This process is performed on a per-CUbasis.

Then, processing is performed on a per-TU basis. Specifically, thetransform/quantization unit 27 transforms a prediction residual into atransform coefficient, and quantizes the transform coefficient (S25).Then, the encoded data generation unit 29 encodes the transformed andquantized transform coefficient (S26).

Then, the dequantization/inverse transform unit 22 appliesdequantization and inverse transform to the transformed and quantizedtransform coefficient to restore a prediction residual. In addition, theadder 24 adds together the prediction image and the prediction residualto generate a decoded image (S27). This process is performed on a per-CUbasis.

Application Examples

The video encoding device 2 and the video decoding device 1, describedabove, may be mounted in various apparatuses for transmitting,receiving, recording, and reproducing a moving image for use. The movingimage may be a natural moving image captured using a camera or the like,or may be an artificial moving image (including CG and GUI) generatedusing a computer or the like.

First, the use of the video encoding device 2 and the video decodingdevice 1, described above, for the transmission and reception of movingimages will be described with reference to FIG. 27.

Part (a) of FIG. 27 is a block diagram illustrating a configuration of atransmitting apparatus PROD_A including the video encoding device 2. Asillustrated in part (a) of FIG. 27, the transmitting apparatus PROD_Aincludes an encoder PROD_A1 for encoding a moving image to obtainencoded data, a modulator PROD_A2 for modulating a carrier wave usingthe encoded data obtained by the encoder PROD_A1 to obtain a modulationsignal, and a transmitter PROD_A3 for transmitting the modulation signalobtained by the modulator PROD_A2. The video encoding device 2 describedabove may be used as the encoder PROD_A1.

The transmitting apparatus PROD_A may further include sources from whichmoving images to be input to the encoder PROD_A1 are supplied, includinga camera PROD_A4 for capturing a moving image, a recording mediumPROD_A5 having a moving image recorded thereon, an input terminalPROD_A6 through which a moving image is input from outside, and an imageprocessor A7 for generating or modifying an image. In part (a) of FIG.27, all of them are included in the transmitting apparatus PROD_A, byway of example. However, some of them may be omitted.

The recording medium PROD_A5 may have recorded thereon a moving imagethat has not been encoded, or may have recorded thereon a moving imagethat has been encoded using a recording coding scheme different from atransmission coding scheme. In the latter case, a decoder (notillustrated) may be disposed between the recording medium PROD_A5 andthe encoder PROD_A1 to decode encoded data read from the recordingmedium PROD_A5 in accordance with a recording coding scheme.

Part (b) of FIG. 27 is a block diagram illustrating a configuration areceiving apparatus PROD_B including the video decoding device 1. Asillustrated in part (b) of FIG. 27, the receiving apparatus PROD_Bincludes a receiver PROD_B1 for receiving a modulation signal, ademodulator PROD_B2 for demodulating the modulation signal received bythe receiver PROD_B1 to obtain encoded data, and a decoder PROD_B3 fordecoding the encoded data obtained by the demodulator PROD_B2 to obtaina moving image. The video decoding device 1 described above may be usedas the decoder PROD_B3.

The receiving apparatus PROD_B may further include destinations to whicha moving image output from the decoder PROD_B3 is to be supplied,including a display PROD_B4 on which the moving image is displayed, arecording medium PROD_B5 on which the moving image is recorded, and anoutput terminal PROD_B6 through which the moving image is output tooutside. In part (b) of FIG. 27, all of them are included in thereceiving apparatus PROD_B, by way of example. However, some of them maybe omitted.

The recording medium PROD_B5 may be configured to have recorded thereona moving image that has not been encoded, or may have recorded thereon amoving image that has been encoded using a recording coding schemedifferent from a transmission coding scheme. In the latter case, anencoder (not illustrated) may be disposed between the decoder PROD_B3and the recording medium PROD_B5 to encode a moving image acquired fromthe decoder PROD_B3 in accordance with a recording coding scheme.

A transmission medium on which modulation signals travel may be wirelessor wired. A transmission form in which modulation signals aretransmitted may be broadcasting (here, a transmission form in which nodestinations are specified in advance) or communication (here, atransmission form in which destinations are specified in advance). Thatis, the transmission of modulation signals may be implemented by any ofradio broadcasting, wire broadcasting, wireless communication, and wiredcommunication.

For example, a broadcasting station (such as a broadcastingfacility)/receiving station (such as a television receiver) ofterrestrial digital broadcasting is an example of the transmittingapparatus PROD_A/the receiving apparatus PROD_B fortransmitting/receiving a modulation signal via radio broadcasting. Abroadcasting station (such as a broadcasting facility)/receiving station(such as a television receiver) of cable television broadcasting is anexample of the transmitting apparatus PROD_A/the receiving apparatusPROD_B for transmitting/receiving a modulation signal via wirebroadcasting.

A server (such as a workstation)/client (such as a television receiver,a personal computer, or a smartphone) for VOD (Video On Demand)services, video sharing services, and the like over the Internet is anexample of the transmitting apparatus PROD_A/the receiving apparatusPROD_B for transmitting/receiving a modulation signal via communication(in general, wireless or wired transmission media may be used for LANs,and wired transmission media are used for WANs). Examples of thepersonal computer include a desktop PC, a laptop PC, and a tablet PC.Examples of the smartphone also include a multifunctional mobile phoneterminal.

A client for video sharing services has a function to decode encodeddata downloaded from a server and to display the decoded data on adisplay, and also has a function to encode a moving image captured usinga camera and to upload the encoded image to a server. That is, a clientfor video sharing services serves as both the transmitting apparatusPROD_A and the receiving apparatus PROD_B.

Next, the use of the video encoding device 2 and the video decodingdevice 1, described above, for the recording and reproduction of movingimages will be described with reference to FIG. 28.

Part (a) of FIG. 28 is a block diagram illustrating a configuration of arecording apparatus PROD_C including the video encoding device 2described above. As illustrated in part (a) of FIG. 28, the recordingapparatus PROD_C include an encoder PROD_C1 for encoding a moving imageto obtain encoded data, and a writer PROD_C2 for writing the encodeddata obtained by the encoder PROD_C1 to a recording medium t PROD_J. Thevideo encoding device 2 described above may be used as the encoderPROD_C1.

The recording medium PROD_M may be (1) of a type incorporated in therecording apparatus PROD_C, such as an HDD (Hard Disk Drive) or an SSD(Solid State Drive), or (2) of a type connected to the recordingapparatus PROD_C, such as an SD memory card or a USB (Universal SerialBus) flash memory, or may be (3) set in a drive device (not illustrated)incorporated in the recording apparatus PROD_C, such as a DVD (DigitalVersatile Disc) or a BD (Blu-ray Disc: registered trademark).

The recording apparatus PROD_C may further include sources from whichmoving images to be input to the encoder PROD_C1 are supplied, includinga camera PROD_C3 for capturing a moving image, an input terminal PROD_C4through which a moving image is input from outside, a receiver PROD_C5for receiving a moving image, and an image processor PROD_C6 forgenerating or modifying an image. In part (a) of FIG. 28, all of themare included in the recording apparatus PROD_C, by way of example.However, some of them may be omitted.

The receiver PROD_C5 may be configured to receive a moving image thathas not been encoded, or may be configured to receive encoded data thathas been encoded using a transmission coding scheme different from arecording coding scheme. In the latter case, a transmission decoder (notillustrated) may be disposed between the receiver PROD_C5 and theencoder PROD_C1 to decode encoded data encoded using a transmissioncoding scheme.

Examples of the recording apparatus PROD_C include a DVD recorder, a BDrecorder, and an HDD (Hard Disk Drive) recorder (in this case, the inputterminal PROD_C4 or the receiver PROD_C5 serve as a main source fromwhich a moving image is supplied). Other examples of the recordingapparatus PROD_C include a camcorder (in this case, the camera PROD_C3serves as a main source from which a moving image is supplied), apersonal computer (in this case, the receiver PROD_C5 or the imageprocessor C6 serves as a main source from which a moving image issupplied), and a smartphone (in this case, the camera PROD_C3 or thereceiver PROD_C5 serves as a main source from which a moving image issupplied).

Part (b) of FIG. 28 is a block diagram illustrating a configuration of areproducing apparatus PROD_D including the video decoding device 1described above. As illustrated in part (b) of FIG. 28, the reproducingapparatus PROD_D includes a reader PROD_D1 for reading encoded datawritten in a recording medium PROD_M, and a decoder PROD_D2 for decodingthe encoded data read by the reader PROD_D1 to obtain a moving image.The video decoding device 1 described above may be used as the decoderPROD_D2.

The recording medium PROD_M may be (1) of a type incorporated in thereproducing apparatus PROD_D, such as an HDD or an SSD, or (2) of a typeconnected to the reproducing apparatus PROD_D, such as an SD memory cardor a USB flash memory, or may be (3) set in a drive device (notillustrated) incorporated in the reproducing apparatus' PROD_D, such asa DVD or a BD.

The reproducing apparatus PROD_D may further include destinations towhich a moving image output from the decoder PROD_D2 is to be supplied,including a display PROD_D3 on which the moving image is displayed, anoutput terminal PROD_D4 through which the moving image is output tooutside, and a transmitter PROD_D5 for transmitting the moving image. Inpart (b) of FIG. 28, all of them are included in the reproducingapparatus PROD_D, by way of example. However, some of them may beomitted.

The transmitter PROD_D5 may be configured to transmit a moving imagethat has not been encoded, or may be configured to transmit encoded datathat has been encoded using a transmission coding scheme different froma recording coding scheme. In the latter case, an encoder (notillustrated) may be disposed between the decoder PROD_D2 and thetransmitter PROD_D5 to encode a moving image using a transmission codingscheme.

Examples of the reproducing apparatus PROD_D include a DVD player, a BDplayer, and an HDD player (in this case, the output terminal PROD_D4, towhich a television receiver or the like is connected, serves as a maindestination to which a moving image is to be supplied). Other examplesof the reproducing apparatus PROD_D include a television receiver (inthis case, the display PROD_D3 serves as a main destination to which amoving image is to be supplied), a digital signage (also referred to asan electronic signboard, an electronic bulletin board, or the like, inwhich case the display PROD_D3 or the transmitter PROD_D5 serves as amain destination to which a moving image is to be supplied), a desktopPC (in this case, the output terminal PROD_D4 or the transmitter PROD_D5serves as a main destination to which a moving image is to be supplied),a laptop or tablet PC (in this case, the display PROD_D3 or thetransmitter PROD_D5 serves as a main destination to which a moving imageis to be supplied), and a smartphone (in this case, the display PROD_D3or the transmitter PROD_D5 serves as a main destination to which amoving image is to be supplied).

[Summation]

An image decoding device for decoding encoded image data for each codingunit generates a decoded image. The image decoding device includes a CUinformation decoding unit configured to decode information forspecifying a partition type in which the coding unit is split, and anarithmetic decoding unit configured to decode binary values from theencoded image data using arithmetic decoding that uses contexts orarithmetic decoding that does not use contexts. In a case that the CUinformation decoding unit decodes information for specifying anasymmetric partition (AMP; Asymmetric Motion Partition) as the partitiontype, the arithmetic decoding unit decodes the binary values byswitching between the arithmetic decoding that uses contexts and thearithmetic decoding that does not use contexts in accordance with aposition of the binary values.

The image decoding device includes in a case that a size of the codingunit is 2N×2N pixels, the partition type at least includes 2N×2N pixels,2N×N pixels, N×2N pixels, 2N×nU pixels, 2N×nD pixels, nL×2N pixels, andnR×2N, where 2N×2N pixels, 2N×N pixels, and N×2N pixels are symmetricpartitions, and 2N×nU pixels, 2N×nD pixels, nL×2N pixels, and nR×2Npixels are asymmetric partitions.

The image decoding device includes in a case that the CU informationdecoding unit decodes the information for specifying an asymmetricpartition (AMP; Asymmetric Motion Partition) as the partition type, thearithmetic decoding unit is configured to decode only a part of binaryvalues among the binary values using the arithmetic decoding that doesnot use contexts.

The part of binary values includes at least a binary value correspondingto information indicating the asymmetric partition.

An image decoding device for decoding encoded image data for each codingunit generates a decoded image. The image decoding device includes a CUinformation decoding unit configured to decode information forspecifying a partition type in which the coding unit is split, and anarithmetic decoding unit configured to decode binary values from theencoded image data using arithmetic decoding that uses contexts orarithmetic decoding that does not use contexts. In a case that the CUinformation decoding unit decodes information for specifying arectangular partition as the partition type, the arithmetic decodingunit is configured to decode the binary values by switching between thearithmetic decoding that uses contexts and the arithmetic decoding thatdoes not use contexts in accordance with a position of the binaryvalues.

An image decoding for an image decoding device for decoding encodedimage data for each coding unit generates a decoded image. The imagedecoding method for the image decoding device includes the steps of:decoding information for specifying a partition type in which the codingunit is split; and decoding binary values from the encoded image datausing arithmetic decoding that uses contexts or arithmetic decoding thatdoes not use contexts. In a case that information for specifying anasymmetric partition (AMP; Asymmetric Motion Partition) as the partitiontype is to be decoded, the binary values are decoded by switchingbetween the arithmetic decoding that uses contexts and the arithmeticdecoding that does not use contexts in accordance with a position of thebinary values.

An image encoding device for encoding information for restoring an imagefor each coding unit generates encoded image data. The image encodingdevice includes an encoding setting unit configured to encodeinformation for specifying a partition type in which the coding unit issplit; and an encoded data generation unit configured to generate theencoded image data using an encoding process that uses contexts or anencoding process that does not use contexts. In a case that informationfor specifying an asymmetric partition (AMP; Asymmetric MotionPartition) as the partition type is to be encoded, the encoded datageneration unit is configured to generate the encoded image data byswitching between the encoding process that uses contexts and theencoding process that does not use contexts.

An image decoding device decodes an image in a prediction unit using, asan inter-frame prediction scheme, a uni-prediction scheme in which onereference image is referred to or a bi-prediction scheme in which tworeference images are referred. The image decoding device includesbi-prediction restriction means for imposing restriction ofbi-prediction on the prediction unit in a case that the prediction unitis a prediction unit having a size less than or equal to a predeterminedvalue.

According to the foregoing aspects of the present invention, it ispossible to achieve a reduction in the amount of coding taken in the useof an asymmetric partition and to implement efficient encoding/decodingprocesses exploiting the characteristics of the asymmetric partition.

The present invention may also be expressed in the following form. Animage decoding device according to an aspect of the present invention isan image decoding device for decoding information for restoring an imagefrom encoded image data for each coding unit to restore an image. Theimage decoding device includes decoding means for decoding codesassigned to combinations of sizes of prediction units and predictionschemes to be applied to the coding units, the decoding means decoding ashorter code for a combination of a coding unit with a size less than orequal to a predetermined value and a prediction scheme for intra-frameprediction, than codes assigned to combinations other than thecombination.

In the configuration described above, a coding unit having a size lessthan or equal to a predetermined value is a coding unit having a sizethat will make inter prediction less reliable in a coding unit having asize greater than the predetermined value.

A coding unit having a size less than or equal to a predetermined valuetends to be used in a region where inter prediction is less reliable. Inthe following, a coding unit having a size greater than a predeterminedvalue is referred to as a “large coding unit”.

A coding unit having a size less than or equal to a predetermined valueis, by way of example, a coding unit having a minimum size, and is acoding unit having 8×8 pixels.

Such a small coding unit has a larger spatial correlation than a largecoding unit. Thus, an intra CU is generally applied to such a smallcoding unit in order to improve prediction accuracy.

In the configuration described above, a shorter code is assigned to acombination of small coding size and intra-frame prediction scheme thancodes to be assigned to other combinations.

According to the configuration described above, accordingly, a shortcode may be assigned to a combination having a high probability ofoccurrence in a coding unit having a size less than or equal to apredetermined value. The advantage of improved coding efficiency is thusachieved.

In the image decoding device according to the aspect of the presentinvention, preferably, the decoding means described above decodes ashorter code for the combination described above than a code assigned toa combination of a coding unit with a size larger than the predeterminedvalue and a prediction scheme for intra-frame prediction.

According to the configuration described above, a shorter code isdecoded in a case that a prediction scheme for intra-frame prediction isapplied to a small coding unit in which intra-frame prediction is morereliable than in a case that a prediction scheme for intra-frameprediction is applied to a large coding unit in which intra-frameprediction is less reliable.

Accordingly, a shorter code may be decoded for a combination having ahigher frequency of occurrence. As a result, coding efficiency may beimproved.

In the image decoding device according to the aspect of the presentinvention, preferably, the decoding means described above decodes ashorter code for the combination described above than a code assigned toa combination of a coding unit with a size equal to the predeterminedvalue and a prediction scheme other than intra-frame prediction.

According to the configuration described above, a shorter code may bedecoded for intra-frame prediction that is more reliable in a smallcoding unit than inter-frame prediction that is less reliable.

Accordingly, a shorter code may be decoded for a combination having ahigher frequency of occurrence. As a result, coding efficiency may beimproved.

An image decoding device according to an aspect of the present inventionis an image decoding device for restoring an image in a prediction unitusing a prediction scheme for any inter-frame prediction out ofuni-prediction in which one reference image is referred to andbi-prediction in which two reference images are referred to. The imagedecoding device includes bi-prediction restriction means for imposingrestriction of bi-prediction on a target prediction unit to which theinter-frame prediction is to be applied, the target prediction unitbeing a prediction unit having a size less than or equal to apredetermined value.

Bi-prediction requires a larger amount of processing thanuni-prediction. Bi-prediction is a prediction scheme that uses twoimages to be referred to in inter-frame prediction. The images to bereferred to may be previous or future frames in time with respect to thetarget frame.

A small prediction unit having a size less than or equal to apredetermined value requires a larger amount of processing per unit areathan a large prediction unit having a size greater than thepredetermined value.

Accordingly, bi-prediction in a small prediction unit will be likely tocreate a bottleneck in decoding processing because both require a largeamount of processing.

According to the configuration described above, restriction ofbi-prediction is imposed on a small prediction unit. The term“restriction” is used to include omitting some of the processes involvedin bi-prediction and not-performing the processing of bi-prediction.

The restriction described above may achieve the advantage of reducingthe amount of processing that can be a bottleneck in decodingprocessing.

In the image decoding device according to the aspect of the presentinvention, preferably, the bi-prediction restriction means describedabove imposes the restriction described above on the target predictionunit that is a prediction unit in which decoding of at least some ofmotion vectors used for generation of a prediction image in the targetprediction unit is not omitted and that is a prediction unit in which aprediction parameter to be allocated to the target prediction unit isnot estimated from a prediction parameter allocated to a neighboringprediction unit of the target prediction unit.

According to the configuration described above, the restriction ofbi-prediction is imposed in a case that a prediction parameter isactually derived in a target prediction unit without the so-called skipprocess and merge process being performed.

If the skip process or the merge process is not performed, all motionvectors need to be decoded, resulting in an increase in the amount ofprocessing. The restriction described above may reduce the amount ofprocessing that can be a bottleneck in decoding processing.

In the image decoding device according to the aspect of the presentinvention, preferably, the bi-prediction restriction means describedabove performs uni-prediction r without decoding information indicatingwhich of bi-prediction and uni-prediction to perform.

According to the configuration described above, the decoding process fora target prediction unit on which restriction of bi-prediction isimposed may be simplified. In addition, the overhead caused by thedecoding of information indicating which of bi-prediction anduni-prediction to perform although the execution of uni-prediction hasbeen determined in advance may be avoided.

In the image decoding device according to the aspect of the presentinvention, preferably, the bi-prediction restriction means describedabove omits the processing of information concerning weighted predictionin bi-prediction.

According to the configuration described above, the omission of theprocessing of information concerning weighted prediction inbi-prediction may reduce the amount of processing in bi-prediction. As aresult, the amount of processing that can be a bottleneck in decodingprocessing, such as the processing of information concerning weightedprediction, may be reduced.

An image decoding device according to an aspect of the present inventionis an image decoding device for restoring an image by generating aprediction image for each of prediction units obtained by splitting acoding unit into one or more partitions. The image decoding deviceincludes changing means for changing a plurality of codes associatedwith a plurality of combinations of partition types and predictionschemes, the partition types being types in which a target coding unitthat is a coding unit to be decoded is split into the prediction units,in accordance with a decoded parameter allocated to a decoded predictionunit near a target prediction unit that is a prediction unit to bedecoded.

The unit of generating a prediction image is based on a coding unit thatis a unit of the coding process. Specifically, the same region as thecoding unit or a region obtained by dividing the coding unit is used asa prediction unit.

In the configuration described above, the partition type in which acoding unit is split into prediction units may include a split intosquare partitions and a split into non-square partitions. The split intosquare partitions is obtained in a case that the prediction unitobtained by splitting is square.

This applies, for example, in a case that a square coding unit is splitinto four square partitions. This also applies in the case of non-splitwhere a region having the same size as a square coding unit is used asthe prediction unit. The partition type in the case of non-split isgenerally represented by 2N×2N.

A split into non-square partitions is obtained in a case that theprediction unit obtained by splitting is non-square. This applies, forexample, in a case that the region of the coding unit is split into alarge rectangle and a small rectangle.

The term “code” refers to a binary (bin) sequence of coded parametervalues. The binary sequence may be directly coded or arithmeticallycoded. The prediction scheme is that either for inter-frame predictionor intra-frame prediction. A combination of prediction scheme andpartition type is, for example, (intra-frame prediction, non-split), andmay be represented by a parameter value called pred_type.

In the configuration described above, furthermore, codes andcombinations of prediction schemes and partition types are associatedwith each other in one-to-one correspondence.

According to the configuration described above, the association ischanged in accordance with a decoded parameter. In other words, even forthe same code, the interpretation of which combination of predictionscheme and partition type is indicated is changed in accordance with adecoded parameter.

Accordingly, a shorter code may be assigned to a combination ofprediction scheme and partition type having a higher probability ofoccurrence.

Specifically, if a neighboring coding unit of a target coding unit is acoding unit for intra-frame prediction, it is probable that the targetcoding unit will also be predicted using intra-frame prediction.

In this case, preferably, a short code is assigned to a combinationincluding intra-frame prediction.

According to the configuration described above, a shorter code isassigned to a combination of prediction scheme and partition type havinga higher probability of occurrence in accordance with a decodedparameter allocated to a neighboring decoded prediction unit. Thus,coding efficiency may be improved.

In the image decoding device according to the aspect of the presentinvention, preferably, the changing means described above changes a codeassociated with a combination including a prediction scheme forintra-frame prediction to a short code in a case that a predictionscheme for intra-frame prediction is allocated to a neighboring decodedcoding unit of the target coding unit.

According to the configuration described above, in a case that aprediction scheme for intra-frame prediction is allocated to aneighboring decoded coding unit of a target coding unit, a codeassociated with a combination including a prediction scheme forintra-frame prediction is changed to a short code.

A plurality of neighboring coding units may be used. The neighboringcoding units may include, for example, an upper adjacent coding unit anda left adjacent coding unit.

In this case, it is only required that one or both of a predictionscheme for intra-frame prediction be allocated to the upper adjacentcoding unit and the left adjacent coding unit.

If a prediction scheme for intra-frame prediction is allocated to aneighboring decoded coding unit of a target coding unit, it is probablethat intra-frame prediction will also be allocated to the target codingunit.

Thus, the code associated with a combination having a high frequency ofoccurrence may be short, leading to improved coding efficiency.

In the image decoding device according to the aspect of the presentinvention, preferably, the changing means described above changes a codeassociated with a combination including a partition type that involves asplit in a neighboring direction to a short code in a case that aneighboring decoded coding unit of the target coding unit is smallerthan the target coding unit.

According to the configuration described above, in a case that aneighboring decoded coding unit of the target coding unit is smallerthan the target coding unit, a code associated with a combinationincluding a partition type that involves a split in a neighboringdirection is changed to a short code.

In a case that a neighboring decoded coding unit of the target codingunit is smaller than the target coding unit, it is probable that an edgewill be present in a direction perpendicular to a boundary between thetarget coding unit and the neighboring decoded coding unit. That is, anedge often appears in a direction in which the target coding unit isadjacent to the decoded coding unit.

In this case, a partition type that involves a split in the adjacentdirection is more likely to be selected.

Thus, the code associated with a combination having a high frequency ofoccurrence may be short, leading to improved coding efficiency.

An image decoding device according to an aspect of the present inventionis an image decoding device for restoring an image by generating aprediction image using an inter-frame prediction scheme for each ofprediction units obtained by splitting a coding unit into one or morepartitions. The image decoding device includes candidate determiningmeans for determining a candidate in a region to be used for estimationin accordance with a size of a target prediction unit, which is aprediction unit to be decoded, in a case that the target prediction unitis a prediction unit in which a prediction parameter of the targetprediction unit is estimated from a prediction parameter allocated to aneighboring region of the target prediction unit.

According to the configuration described above, a candidate of a regionto be used for the so-called skip or merge is determined in accordancewith the size of the target prediction unit. Alternatively, a candidateof a region to be used for the derivation of an estimated motion vectorto be used to restore a motion vector together with a decodeddifferential motion vector is set.

The correlation of motion vectors for inter-frame prediction variesdepends on the size of the target prediction unit. For example, a regionwhere a small prediction unit having a size less than or equal to apredetermined value is selected generally includes complex motion of anobject, and the correlation of motion vectors is low in such a region.

According to the configuration described above, therefore, for example,the number of candidates may be reduced in accordance with the degree ofcomplexity of motion. Accordingly, side information may be reduced,resulting in improvement in coding efficiency.

In the image decoding device according to the aspect of the presentinvention, preferably, the candidate determining means described aboveperforms an operation so that the number of candidates for the smallprediction unit having a size less than or equal to the predeterminedvalue is less than the number of candidates for a prediction unit largerthan the small prediction unit.

According to the configuration described above, the number of candidatesfor a small prediction unit having a size less than or equal to apredetermined value is less than the number of candidates for aprediction unit larger than the small prediction unit.

As described above, a region where a small prediction unit having a sizeless than or equal to a predetermined value generally includes complexmotion of an object, and the correlation of motion vectors is low insuch a region.

For this reason, the number of candidates in such a region is reduced toreduce side information, which is preferable.

In the image decoding device according to the aspect of the presentinvention, preferably, the candidate determining means described aboveperforms an operation so that, in a small prediction unit having a sizeless than or equal to a predetermined value, candidates for temporalprediction are not included in the candidates.

According to the configuration described above, in a small predictionunit having a size less than or equal to a predetermined value,candidates for temporal prediction are not included in the candidates.

In a region with complex motion where a small prediction unit isselected, the correlation between a relevant prediction unit (collocatedPU) used for temporal prediction and a target prediction unit is low.Thus, it is less probable that temporal prediction will be selected forsuch a region. In such a region, accordingly, it is preferable thatmerge candidates for temporal prediction are not included.

An image decoding device according to an aspect of the present inventionis an image decoding device for restoring an image by generating aprediction image for each of prediction units obtained by splitting acoding unit into one or more partitions. Partition types in which acoding unit is split into the prediction units include a partition intorectangular prediction units, and codes for identifying a partition intothe rectangular prediction units include a code indicating whether eachof the rectangular prediction units is portrait-oriented orlandscape-oriented, and a code indicating a type of rectangularprediction unit. The image decoding device includes decoding means fordecoding the code indicating a type of rectangular prediction unitwithout using a context.

According to the configuration described above, in a case that thepartition type in which a coding unit is split into prediction units isa split into rectangular prediction units, a code indicating a type ofrectangular partition is decoded using a context.

The term “type of rectangular partition” is used to include, forexample, the following three types if the partition types arelandscape-oriented rectangular partitions: 2N×N, 2N×nU, 2N×nD.

A split into prediction units is generally performed so that noprediction units lie across an edge present in the region of the codingunit. If an edge having an inclination is present in a region, the sametype of rectangular partition may not necessarily be sequentiallyselected. In-such a region, a decoding process using contexts might notimprove coding efficiency.

In such a region, conversely, a decoding process without using contextswould not cause a reduction in coding efficiency.

According to the configuration described above, in the region describedabove, it is possible to simplify processing because of no reference tocontexts while maintaining coding efficiency.

An image decoding device according to an aspect of the present inventionis an image decoding device for restoring an image by generating aprediction image using an inter-frame prediction scheme for each ofprediction units obtained by splitting a coding unit into one or morepartitions. Partition types in which a coding unit is split into theprediction units include an asymmetric partition in which a coding unitis split into a plurality of prediction units having different sizes ora symmetric partition in which a coding unit is split into a pluralityof prediction units having the same size. The image decoding deviceincludes estimating means for estimating a prediction parameter forinter-frame prediction using, in a case that the partition type is anasymmetric partition, an estimation method different from an estimationmethod in a case that the partition type is a symmetric partition.

According to the configuration described above, in a case that thepartition type is an asymmetric partition, a prediction parameter forinter-frame prediction is estimated using an estimation method differentfrom that in a case that the partition type is a symmetric partition.

A coding unit in which asymmetric partition is selected isasymmetrically split into a small prediction unit and a large predictionunit in order to obtain prediction units.

In a coding unit in which asymmetric partition is selected, furthermore,it is probable that an edge crossing the small prediction unit in thelongitudinal direction will be present.

It is also probable that accurate motion vectors will have been derivedin a region where an edge is present. That is, the region where motionvectors having high accuracy have been derived in a case that thepartition type is an asymmetric partition is different from that in acase that the partition type is a symmetric partition.

Thus, the following advantage may be achieved: different estimationmethods are used for the case that the partition type is an asymmetricpartition and the case that the partition type is a symmetric partition,allowing prediction parameters for inter-frame prediction to beestimated using a desired estimation method in accordance with thepartition type.

An image decoding device according to an aspect of the present inventionis an image decoding device for restoring an image by generating aprediction image for each of prediction units obtained by splitting acoding unit into one or more partitions, decoding a prediction residualfor each of transform units obtained by splitting a coding unit into oneor more partitions, and adding the prediction residual to the predictionimage. Partition types in which a coding unit is split into theprediction units include an asymmetric partition in which a coding unitis split into a plurality of prediction units having different sizes ora symmetric partition in which a coding unit is split into a pluralityof prediction units having the same size. The image decoding deviceincludes transform unit splitting means for determining, in a case thata partition type of a target coding unit, which is a coding unit to bedecoded, is the asymmetric partition, a partitioning scheme for atransform unit in accordance with a size of a prediction unit includedin the target coding unit.

According to the configuration described above, in a case that apartition type of a target coding unit, which is a coding unit to bedecoded, is an asymmetric partition, a partitioning scheme for atransform unit is determined in accordance with a size of a predictionunit included in the target coding unit.

When an asymmetric partition is applied, where as it is probable that anedge will be included in a smaller prediction unit, it is less probablethat an edge will be included in a larger prediction unit.

If prediction residuals have no directionality, the application ofsquare transform may more efficiently remove correlations than with theapplication of rectangular transform as a partitioning scheme for atransform unit.

According to the configuration described above, in a case that thepartition type is an asymmetric partition, a partitioning scheme for atransform unit that will efficiently remove correlations may be selectedin accordance with the size of a prediction unit included in the targetcoding unit. As a result, coding efficiency may be improved.

An image decoding device according to an aspect of the present inventionis an image decoding device for restoring an image by generating aprediction image for each of prediction units obtained by splitting acoding unit into one or more partitions, decoding a prediction residualfor each of transform units obtained by splitting a coding unit into oneor more partitions, and adding the prediction residual to the predictionimage. Partitioning schemes in which a coding unit is split into thetransform units include square partitioning and rectangularpartitioning. The image decoding device includes splitting means forsplitting a target transform unit using a rectangular partitioningscheme in a case that a target prediction unit, which is a predictionunit to be decoded, has a square shape.

In some cases, square prediction units may be selected even though edgesare present in a region and an image has directionality. For example, ina case that an object including a large number of horizontal edges ismoving, motion is uniform over the entire object. Thus, squareprediction units are selected. In the transform process, however,preferably, transform units having a shape that is long in thehorizontal direction and extending in the horizontal edges are applied.

According to the configuration described above, in a case that a targetprediction unit, which is a prediction unit to be decoded, has a squareshape, the target transform unit is split using a rectangularpartitioning scheme.

Accordingly, a rectangular transform unit may also be selected in asquare coding unit, resulting in improved coding efficiency for theregion described above.

In the image decoding device according to the aspect of the presentinvention, preferably, in a case that a transform unit at a partitiondepth of 2 in a coding unit having a predetermined size has a squareshape, the splitting means described above further performs an operationso that a target transform unit at a partition depth of 1 in the codingunit having a predetermined size is rectangular.

According to the configuration described above, in a case that thetarget prediction unit has a square shape, the target transform unit issplit using a rectangular partitioning scheme.

A transform unit is recursively split twice using square quadtreepartitioning, that is, the partition depth is increased up to 2,yielding 16 square transform units. In this case, the recursive z-scanorder is used. Conventionally, the above-described partitioning schemeis applied in a case that the partition type of the target coding unitis a square partitioning.

In a case that a transform unit is split using a landscape-orientedquadtree partitioning scheme, in contrast, each node is split intosquare transform units at a partition depth of 2. That is, 16 squaretransform units are finally obtained at a partition depth of 2. In thiscase, the raster scan order is used for the 16 square transform units.Conventionally, the above-described partitioning scheme is applied in acase that the partition type of the target coding unit is a non-squarepartition.

The scan order is thus different for square partition and non-squarepartition as partition types of the target coding unit.

According to the configuration described above, in contrast, in a casethat the partition type of the coding unit is a square partition, thatis, in a case that the target prediction unit has a square shape, thetarget transform unit is split using a rectangular partitioning scheme.

Accordingly, the advantage of uniform scan order for square partitionand non-square partition may be achieved.

An image decoding device according to an aspect of the present inventionis an image decoding device for restoring an image by generating aprediction image for each of prediction units obtained by splitting acoding unit into one or more partitions, decoding a prediction residualfor each of transform units obtained by splitting a coding unit into oneor more partitions, and adding the prediction residual to the predictionimage. Partition types in which a coding unit is split into theprediction units include a split into asymmetric partitions that areprediction units, having different sizes and a split into symmetricpartitions that are prediction units having the same size. The image,decoding device includes coefficient decoding means for decoding, in acase that a partition type of a target prediction unit, which is aprediction unit to be decoded, is a split into asymmetric partitions,transform coefficients by referring to different contexts for small andlarge prediction units obtained by the split.

A small prediction unit obtained by asymmetric partitioning may possiblyinclude an edge, and is likely to include a transform coefficient. Onthe other hand, a large prediction unit is less likely to include atransform coefficient. A different context is used for the targettransform unit depending on whether the target transform unit isincluded in the small prediction unit or the large prediction unit.Accordingly, variable length decoding may be performed in accordancewith the probability of occurrence of the transform coefficient in eachregion.

An image encoding device according to an aspect of the present inventionis an image encoding device for encoding information for restoring animage for each coding unit to generate encoded image data. The imageencoding device includes encoding means for encoding codes assigned tocombinations of sizes of prediction units and prediction schemes to beapplied to the coding units, the encoding means encoding a shorter codefor a combination of a coding unit with a size less than or equal to apredetermined value and a prediction scheme for intra-frame prediction,than codes assigned to combinations other than the combination.

An image encoding device including each of the configurationscorresponding to the image decoding devices described above also fallswithin the scope of the present invention. An image encoding devicehaving the configuration described above may achieve advantages similarto those of an image decoding device according to an aspect of thepresent invention.

(Hardware-Based Implementation and Software-Based Implementation)

The respective blocks of the video decoding device 1 and the videoencoding device 2 described above may be implemented in hardware as alogic circuit formed on an integrated circuit (IC chip) or may beimplemented in software using a CPU (Central Processing Unit).

In the latter case, each of the devices includes a CPU for executinginstructions in a program that implements individual functions, a ROM(Read Only Memory) having the program stored therein, a RAM (RandomAccess Memory) into which the program is loaded, a storage device(recording medium), such as a memory, for storing the program andvarious types of data, and so on. The object of the present inventionmay also be achieved by supplying to each of the devices described abovea recording medium on which program code (execute form program,intermediate code program, source program) of a control program for eachof the devices described above, which is software implementing thefunctions described above, is recorded in a computer-readable form, andby reading and executing the program code recorded on the recordingmedium using a computer (or a CPU or an MPU).

Examples of the recording medium include tapes such as a magnetic tapeand a cassette tape, disks including magnetic disks such as a floppy(registered trademark) disk and a hard disk, and optical disks such as aCD-ROM (Compact Disc Read-Only Memory), an MO disc (Magneto-Opticaldisc), an MD (Mini Disc), a DVD (Digital Versatile Disc), a CD-R (CDRecordable), and a blu-ray disc (Blu-ray Disc: registered trademark),cards such as an IC card (including a memory card) and an optical card,semiconductor memories such as a mask ROM, an EPROM (ErasableProgrammable Read-Only Memory), an EEPROM (registered trademark)(Electrically Erasable and Programmable Read-Only Memory), and a flashROM, and logic circuits such as a PLD (Programmable logic device) and anFPGA (Field Programmable Gate Array).

In addition, each of the devices described above may be configured to beconnectable to a communication network, and may be supplied with theprogram code described above via the communication network. Thecommunication network is not particularly limited so long as it cantransmit program code. For example, the Internet, an intranet, anextranet, a LAN (Local Area Network), an ISDN (Integrated ServicesDigital Network), a VAN (Value-Added Network), a CATV (Community Antennatelevision/Cable Television) communication network, a virtual privatenetwork, a telephone network, a mobile communication network, asatellite communication network, or the like may be used. A transmissionmedium forming the communication network may be a medium capable oftransmitting program code, and is not limited to any specificconfiguration or type. A wired transmission medium, such as IEEE(Institute of Electrical and Electronic Engineers) 1394, USB, power linecarrier, cable TV lines, telephone lines, or ADSL (Asymmetric DigitalSubscriber Line) lines, or a wireless transmission medium, such asinfrared type, for example, IrDA (Infrared Data Association) or a remotecontrol, Bluetooth (registered trademark), IEEE 802.11 radio, HDR (HighData Rate), NFC (Near Field Communication), DLNA (Digital Living NetworkAlliance), a mobile phone network, a satellite network, or a terrestrialdigital network, may be used. The present invention may also beimplemented in the form of a computer data signal embodied in a carrierwave in which the program code described above is implemented byelectronic transmission.

The present invention is not limited to the foregoing embodiments, and avariety of changes may be made within the scope defined by the claims.Embodiments which can be achieved by combinations of technical meansmodified as appropriate within the scope defined by the claims are alsoincluded in the technical scope of the present invention.

INDUSTRIAL APPLICABILITY

The present invention is suitable for use in image decoding devices fordecoding encoded data obtained by encoding image data, and imageencoding devices for generating encoded data by encoding image data. Thepresent invention is also suitable for use in data structures of encodeddata generated by image encoding devices and referred to by imagedecoding devices.

REFERENCE SIGNS LIST

-   -   1 video decoding device    -   10 decoding module    -   11 CU information decoding unit    -   12 PU information decoding unit    -   13 TU information decoding unit    -   16 frame memory    -   111 CU prediction mode determination unit    -   112 PU size determination unit    -   121 motion compensation parameter derivation unit (bi-prediction        restriction means, candidate determining means, estimating        means)    -   122 merge candidate priority information storage unit    -   123 reference frame setting information storage unit    -   131 TU partition setting unit    -   132 transform coefficient restoration unit    -   1011 CU prediction mode decoding unit (decoding means, changing        means)    -   1012 binarization information storage unit    -   1013 context storage unit    -   1014 probability setting storage unit    -   1021 motion information decoding unit (restriction information        decoding means)    -   1031 region split flag decoding unit    -   1032 determination information decoding unit (coefficient        decoding means)    -   1033 transform coefficient decoding unit (coefficient decoding        means)    -   1311 target region setting unit    -   1312 split determination unit    -   1313 sub-region setting unit (transform unit splitting means,        splitting means)    -   1314 transform size determination information storage unit    -   2 video encoding device    -   21 encoding setting unit    -   23 prediction image generation unit    -   25 frame memory    -   27 transform/quantization unit    -   29 encoded data generation unit (encoding means)

1. An image decoding device for decoding encoded image data for eachcoding unit to generate a decoded image, the image decoding devicecomprising: an arithmetic decoding circuitry that decodes a binarysequence specified by using a cording unit size and a partition mode ofthe cording unit; and a prediction image generation circuitry thatgenerates a prediction image using the partition type of the cordingunit, wherein the arithmetic decoding circuitry decodes one of eachbinary in the binary sequence by using an arithmetic decoding processthat uses contexts, and decodes the other of the each binary in thebinary sequence by using a bypass decoding process, in a case that (i)the coding unit is predicted by an inter prediction, (ii) the cordingunit size is greater than 8×8, and (iii) the partition type of thecording unit indicates an Asymmetric Motion Partition mode, wherein thebinary sequence includes at least a first binary and a second binary,wherein (i) the first binary indicates the partition type is a symmetricpartition type or an asymmetric partition type, and (ii) the secondbinary indicates a positional relationship between a smaller partitionand a larger partition of the asymmetric partition, the arithmeticdecoding circuitry decodes the binary sequence corresponding to thepartition types of the cording unit indicating 2N×2N type or N×N type byusing the arithmetic decoding process that uses contexts, in a case that(i) the coding unit is predicted by an intra prediction and (ii) thecording unit size is equal to 8×8, and the arithmetic decoding circuitrydecodes the binary sequence corresponding to the partition types of thecording unit indicating one of 2N×2N type, 2N×N type and N×2N type byusing the arithmetic decoding process that uses contexts, in a case that(i) the coding unit is predicted by the inter prediction and (ii) thecording unit size is equal to 8×8.
 2. An image decoding method fordecoding encoded image data for each coding unit to generate a decodedimage, the method including: decoding a binary sequence specified byusing a cording unit size and a partition mode of the cording unit; andgenerating a prediction image using the partition type of the cordingunit, wherein decoding one of each binary in the binary sequence byusing an arithmetic decoding process that uses contexts, and decodingthe other of the each binary in the binary sequence by using a bypassdecoding process, in a case that (i) the coding unit is predicted by aninter prediction, (ii) the cording unit size is greater than 8×8, and(iii) the partition type of the cording unit indicates an AsymmetricMotion Partition mode, wherein the binary sequence includes at least afirst binary and a second binary, wherein (i) the first binary indicatesthe partition type is a symmetric partition type or an asymmetricpartition type, and (ii) the second binary indicates a positionalrelationship between a smaller partition and a larger partition of theasymmetric partition, decoding the binary sequence corresponding to thepartition types of the cording unit indicating 2N×2N type or N×N type byusing the arithmetic decoding process that uses contexts, in a case that(i) the coding unit is predicted by an intra prediction and (ii) thecording unit size is equal to 8×8, and decoding the binary sequencecorresponding to the partition types of the cording unit indicating oneof 2N×2N type, 2N×N type and N×2N type by using the arithmetic decodingprocess that uses contexts, in a case that (i) the coding unit ispredicted by the inter prediction and (ii) the cording unit size isequal to 8×8.
 3. An image encoding device for encoding an image for eachcoding unit to generate an encoded image data, the image encoding devicecomprising: an arithmetic encoding circuitry that encodes a binarysequence specified by using a cording unit size and a partition mode ofthe cording unit; and a prediction image generation circuitry thatgenerates a prediction image using the partition type of the cordingunit, wherein the arithmetic encoding circuitry encodes one of eachbinary in the binary sequence by using an arithmetic encoding processthat uses contexts, and encodes the other of the each binary in thebinary sequence by using a bypass encoding process, in a case that (i)the coding unit is predicted by an inter prediction, (ii) the cordingunit size is greater than 8×8, and (iii) the partition type of thecording unit indicates an Asymmetric Motion Partition mode, wherein thebinary sequence includes at least a first binary and a second binary,wherein (i) the first binary indicates the partition type is a symmetricpartition type or an asymmetric partition type, and (ii) the secondbinary indicates a positional relationship between a smaller partitionand a larger partition of the asymmetric partition, the arithmeticencoding circuitry encodes the binary sequence corresponding to thepartition types of the cording unit indicating 2N×2N type or N×N type byusing the arithmetic encoding process that uses contexts, in a case that(i) the coding unit is predicted by an intra prediction and (ii) thecording unit size is equal to 8×8, and the arithmetic encoding circuitryencodes the binary sequence corresponding to the partition types of thecording unit indicating one of 2N×2N type, 2N×N type and N×2N type byusing the arithmetic encoding process that uses contexts, in a case that(i) the coding unit is predicted by the inter prediction and (ii) thecording unit size is equal to 8×8.